

本文主要和大家分享AngularJS发起$http.post请求实例,希望能帮助到大家。
代码如下:
$http({ 
 method:'post', 
 url:'post.php', 
 data:{name:"aaa",id:1,age:20} 
}).success(function(req){ 
 console.log(req); 
})这时候你会发现收不到返回的数据,结果为null,这是因为要转换成form data。 
解决方案:
配置$httpProvider:
var myApp = angular.module('app',[]); 
 myApp.config(function($httpProvider){ 
 $httpProvider.defaults.transformRequest = function(obj){ 
 var str = []; 
 for(var p in obj){ 
 str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
 } 
 return str.join("&"); 
 } 
 $httpProvider.defaults.headers.post = { 
 'Content-Type': 'application/x-www-form-urlencoded' 
 } 
});或者在post中配置:
$http({ 
 method:'post', 
 url:'post.php', 
 data:{name:"aaa",id:1,age:20}, 
 headers:{'Content-Type': 'application/x-www-form-urlencoded'}, 
 transformRequest: function(obj) { 
 var str = []; 
 for(var p in obj){ 
 str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
 } 
 return str.join("&"); 
 } 
}).success(function(req){ 
 console.log(req); 
})代码如下:
 app.controller('sprintCtrl', function($scope, $http) {
 $http.get("http://localhost:8080/aosapp/pt/service?formid=pt_aosapp_service_sprintlist&teamid=1")
 .success(function (response) {console.log($scope.sprintlist=response);});
 });其实,angularjs 和 jquery js最大的区别在哪儿那,angularjs是你事先在心中构建好真个页面,然后用变量或者占位符来表示数据,数据来了,直接填充就可以了;而jquery则是动态的修改dom元素,如添加修改dom标签等。设计思想不一样。
相关推荐:
实例详解AngularJS封装$http.post()
angularJS实现$http.post和$http.get请求的代码详解
对比分析AngularJS中的$http.post与jQuery.post的区别_AngularJS
