angularJS 发起$http.post和$http.get请求

来源:互联网 发布:十大网络主播评选排名 编辑:程序博客网 时间:2024/06/09 20:08

AngularJS发起$http.post请求

代码如下:

$http({      method:'post',      url:'post.php',      data:{name:"aaa",id:1,age:20}  }).success(function(req){      console.log(req);  })  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这时候你会发现收不到返回的数据,结果为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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  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);  })  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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);});        });
  • 1
  • 2
  • 3
  • 4

其实,angularjs 和 jquery js最大的区别在哪儿那,angularjs是你事先在心中构建好真个页面,然后用变量或者占位符来表示数据,数据来了,直接填充就可以了;而jquery则是动态的修改dom元素,如添加修改dom标签等。设计思想不一样。

0 0
原创粉丝点击