700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 关于angular $http 中的data传递参数(json字符串)后端没法接收的问题

关于angular $http 中的data传递参数(json字符串)后端没法接收的问题

时间:2023-02-04 03:07:37

相关推荐

关于angular $http 中的data传递参数(json字符串)后端没法接收的问题

使用的angular版本1.6.4,后台采用springMVC。

项目要实行前后台分离,前后台交互都采用json,刚开始有些抗拒。

不否认,angular确实好用,不用再花很多心思在繁琐的dom上了。

不过小白我刚刚接触,废了半天劲,传个值都没搞定,心累。

且不论POST对应data,GET对应params的低级错误。

虽然后来知道是angular的$http传值Content-Type默认是'application/json',可没想到

headers: {'Content-Type': 'application/x-www-form-urlencoded'}必须置于最后。

//如果你想避免由于ng-repeat使得传入的json会存在有$hashkey的问题,请使用angular.toJson对其序列化,而不是使用JSON.stringifyvar data = JSON.stringify($scope.products);$http({method: "POST",url: url,data: $.param({data:data}),headers: {'Content-Type': 'application/x-www-form-urlencoded'}}).then(function (data) {}).error(function () {});/*<-----------------------分割线--------------------------->*/$http的get请求:$http({method: "GET",url: "url",params: {"param1": "param1",....},headers: {'Content-Type': 'application/x-www-form-urlencoded'}}).then(function successCallback(response){},function errorCallback(response){// 请求失败执行代码});

补充:

application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。

multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,这个一般文件上传时用。

text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

参考链接:/questions/11442632/how-can-i-post-data-as-form-data-instead-of-a-request-payload

/qq_28702545/article/details/51719199

/chris-oil/p/6518633.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。