codeing or artist ?
记得大学第一节编程课,教授说,"如果一件事儿有对错,那么是科学。如果有美丑好坏,那么是艺术。" 一个能顺利运行还能让人阅读时体验思维美妙的代码,就是艺术和科学的结合。能运行的程序并不是好程序,能当作文章来读的才是。在我看来代码是一种特殊的文体,程序猿其实会写诗。

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

 

posted on 2017-04-23 15:07  codeing-or-artist-??  阅读(285)  评论(0编辑  收藏  举报