本文主要跟大家分享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); })
程式碼如下:
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和$http. get請求的程式碼詳解
比較分析AngularJS中的$http.post與jQuery.post的區別_AngularJS
以上是AngularJS發起$http.post請求實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!