使用的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