亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

解決angular的$http.post()提交數據時后臺接收不到參數值問題的方法

2024-05-06 16:25:59
字體:
來源:轉載
供稿:網友
這篇文章為大家分享了解決angular的$http.post()提交數據時后臺接收不到參數值問題的方法,感興趣的小伙伴們可以參考一下
 

寫此文的背景:在學習使用angular的$http.post()提交數據時,后臺接收不到參數值,于是查閱了相關資料,尋找解決辦法。

寫此文的目的:通過上面提到的文章中的解決之道,結合自己的經驗,總結了如下發現。
前端:html,jquery,angular
后端:java,springmvc
一、平常使用的post提交和接收方式
前端使用jquery提交數據。

$.ajax({  url:'/carlt/loginForm',  method: 'POST',    data:{"name":"jquery","password":"pwd"},  dataType:'json',  success:function(data){    //...  }});

后端java接收:

@Controllerpublic class UserController {  @ResponseBody  @RequestMapping(value="/loginForm",method=RequestMethod.POST)  public User loginPost(User user){    System.out.println("username:"+user.getName());    System.out.println("password:"+user.getPassword());    return user;  }}model(不要忘記get、set方法):public class User {  private String name;  private String password;  private int age;    //setter getter method}

后臺打?。?/p>

username:jquery
password:pwd

調用接口查看到的前端返回結果:

解決angular的$http.post()提交數據時后臺接收不到參數值問題的方法

二、使用angularJs的post方法提交

<div ng-app="myApp" ng-controller="formCtrl"> <form novalidate> UserName:<br> <input type="text" ng-model="user.username"><br> PassWord:<br> <input type="text" ng-model="user.pwd"> <br><br> <button ng-click="login()">登錄</button> </form></div>

js代碼:

var app = angular.module('myApp', []);app.controller('formCtrl', function($scope,$http) { $scope.login = function() {  $http({   url:'/carlt/loginForm',   method: 'POST',      data: {name:'angular',password:'333',age:1}    }).success(function(){   console.log("success!");  }).error(function(){   console.log("error");  }) };});

后臺打印結果:

username:null
password:null:

查看前端:

解決angular的$http.post()提交數據時后臺接收不到參數值問題的方法

三、解決angular提交post問題。
相信看過上面提到的哪怕文章的人已經知道怎么解決問題了吧。文中是更改了angular的提交方式,使得angular的提交數據方式更像jquery的。

我試過,也是行得通的。然后我又試了另外一種方式。如下:

前端不變,依然是:

var app = angular.module('myApp', []);app.controller('formCtrl', function($scope,$http) {  $scope.login = function() {    $http({      url:'/carlt/loginForm',      method: 'POST',            data: {name:'angular',password:'333',age:1}       }).success(function(){      console.log("success!");    }).error(function(){      console.log("error");    })  };});

后臺變了,只是在User前加上@RequstBody,因為angular提交的是json對象:

@Controllerpublic class UserController {  @ResponseBody  @RequestMapping(value="/loginForm",method=RequestMethod.POST)  public User loginPost(@RequestBody User user){    System.out.println("username:"+user.getName());    System.out.println("password:"+user.getPassword());    return user;  }}@RequestBody

作用:

      i) 該注解用于讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,然后把相應的數據綁定到要返回的對象上;

      ii) 再把HttpMessageConverter返回的對象數據綁定到 controller中方法的參數上。

使用時機:

A) GET、POST方式提時, 根據request header Content-Type的值來判斷:

    application/x-www-form-urlencoded, 可選(即非必須,因為這種情況的數據@RequestParam, @ModelAttribute也可以處理,當然@RequestBody也能處理);
    multipart/form-data, 不能處理(即使用@RequestBody不能處理這種格式的數據);
    其他格式, 必須(其他格式包括application/json, application/xml等。這些格式的數據,必須使用@RequestBody來處理);
B) PUT方式提交時,根據request header Content-Type的值來判斷:

    application/x-www-form-urlencoded, 必須;
    multipart/form-data, 不能處理;
    其他格式,必須;
說明:request的body部分的數據編碼格式由header部分的Content-Type指定;

四、解決了angular問題之后,發現jquery按照原來的方式提交post請求會報錯(錯誤碼415)。

如下方式可以解決jquery提交問題:

$.ajax({  url:'/carlt/loginForm',  method: 'POST',  contentType:'application/json;charset=UTF-8',  data:JSON.stringify({"name":"jquery","password":"pwd"}),  dataType:'json',  success:function(data){    //...  }});

json對象轉json字符串:JSON.stringify(jsonObj);

以上就是本文的全部內容,有興趣的同學可以試試其它方法,希望本文可以解決大家遇到的angular的post提交問題。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频中文字幕91| 成人精品一区二区三区电影黑人| 亚洲一区二区福利| 亚洲精品成人网| 日本韩国在线不卡| 国产精品入口尤物| 欧美日韩中文字幕在线| 日韩av在线免费观看一区| 亚洲第一视频在线观看| 欧美激情国产日韩精品一区18| 久久久久这里只有精品| 亚洲三级黄色在线观看| 97在线视频一区| 国产一区二区激情| 亚洲欧美三级伦理| 久久综合免费视频影院| 国产98色在线| 久久影视免费观看| 亚洲福利在线视频| 蜜臀久久99精品久久久久久宅男| 亚洲第一区中文99精品| 久久精品成人一区二区三区| 久久中国妇女中文字幕| 欧美午夜激情小视频| 69国产精品成人在线播放| 久久久国产精品一区| 欧美孕妇与黑人孕交| 亚洲欧美一区二区三区四区| 日韩在线免费视频观看| 波霸ol色综合久久| 热久久这里只有| 大胆欧美人体视频| 日韩免费观看视频| 精品国产一区二区三区久久久狼| 国产黑人绿帽在线第一区| 色婷婷综合久久久久| 美女视频黄免费的亚洲男人天堂| 欧美大片免费观看| 福利视频第一区| 在线亚洲国产精品网| 日韩欧美一区二区在线| 久久国产精品偷| 久久精品国产一区| 国产一区二区黑人欧美xxxx| 国产成人avxxxxx在线看| 欧美孕妇孕交黑巨大网站| 日韩网站免费观看高清| 中文字幕日韩专区| 亚洲欧美国产精品久久久久久久| 一区二区三区视频免费在线观看| 国产精品久久久久久久久久久久| 久久亚洲一区二区三区四区五区高| 亚洲人精选亚洲人成在线| 成人精品网站在线观看| 亚洲a级在线观看| 色偷偷偷综合中文字幕;dd| 日韩国产欧美区| 91精品久久久久久久久久久久久| 国产精品狠色婷| 国产精品wwww| 成人免费福利视频| 久久久人成影片一区二区三区| 欧美一性一乱一交一视频| 正在播放国产一区| 久久人人爽人人| 国产mv免费观看入口亚洲| 国产精品久久久久aaaa九色| 亚洲国产精品网站| 亚洲毛茸茸少妇高潮呻吟| 国产精品黄页免费高清在线观看| 亚洲精品wwww| 国产精品视频大全| 色老头一区二区三区| 国产一区二区三区中文| 亚洲免费视频观看| 亚洲国产精品va| 亚洲国产精品人人爽夜夜爽| 欧美在线免费视频| 国产一区在线播放| 国产精品视频中文字幕91| 在线观看成人黄色| 亚洲欧美日韩久久久久久| 欧美视频中文字幕在线| 热久久这里只有| 伊人久久精品视频| 久久国产精彩视频| 国产ts一区二区| 久热精品视频在线观看一区| 久久国产精品电影| 亚洲欧美变态国产另类| 色av中文字幕一区| 欧美在线一区二区三区四| 一本色道久久88综合亚洲精品ⅰ| 欧美激情亚洲一区| 亚洲影视九九影院在线观看| 777精品视频| 久久免费视频这里只有精品| 精品久久久久久久久久久久久| 91久久精品久久国产性色也91| 精品国产老师黑色丝袜高跟鞋| 亚洲电影免费观看高清完整版在线观看| 国产精品免费电影| 福利精品视频在线| 亚洲品质视频自拍网| 国产成人在线一区| 91视频-88av| 欧美精品videosex性欧美| 日韩免费av在线| 国产美女扒开尿口久久久| 欧美性videos高清精品| 国产精品自产拍在线观看中文| 日本久久亚洲电影| 奇门遁甲1982国语版免费观看高清| 欧美日韩免费在线| 久久综合伊人77777尤物| 日韩成人激情影院| 精品激情国产视频| 欧美日韩亚洲网| 91久久国产婷婷一区二区| 91美女片黄在线观看游戏| 777精品视频| 在线观看日韩av| 亚洲第一精品久久忘忧草社区| 精品视频久久久久久久| 91精品成人久久| 亚洲欧美制服第一页| 中文字幕久热精品视频在线| 亚洲视频国产视频| 2020欧美日韩在线视频| 91免费国产网站| 亚洲欧美国产精品va在线观看| 欧美日韩国产丝袜美女| 久久97精品久久久久久久不卡| 国产97人人超碰caoprom| 欧美激情2020午夜免费观看| 国产视频久久久| 亚洲系列中文字幕| 久久久免费电影| 亚洲偷欧美偷国内偷| 亚洲欧美日韩中文在线| 美女久久久久久久| 久久激情视频免费观看| 欧美专区在线播放| 亚洲aa中文字幕| 日韩在线观看免费全集电视剧网站| 欧美精品一本久久男人的天堂| 伊人久久综合97精品| 91久久久久久| 在线视频日本亚洲性| 亚洲欧美日韩一区二区三区在线| 欧美视频在线观看 亚洲欧| 国产精品av在线播放| 久久6精品影院| 97欧美精品一区二区三区| 亚洲第一国产精品| 日韩69视频在线观看| 久久久精品影院| 亚洲欧美激情一区| 欧美在线免费观看| 国产欧美亚洲精品| 国产精品嫩草影院久久久| 国产欧美一区二区三区在线看| 久久精品久久久久久| 成人日韩在线电影|