爱玩科技网
您的当前位置:首页AngularJS发起$http.post请求实例分享

AngularJS发起$http.post请求实例分享

来源:爱玩科技网


本文主要和大家分享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。
解决方案:

  1. 配置$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' 
 } 

});
  1. 或者在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); 
})

AngularJS发起$http.post请求

代码如下:

 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

显示全文