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

小云云
小云云 原创
2018-03-10 15:25:52 918浏览


本文主要和大家分享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

以上就是AngularJS发起$http.post请求实例分享的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。