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);
})

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标签等。设计思想不一样。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

02-02 14:47