html頁面和php頁面都確定沒錯,使用jquerymobile和angularjs結合進行ajax請求時,為什麼post請求不成功,而get請求就可以呢? js程式碼如下:
angular.module('kaifanla',['ng','ngTouch']).controller('orderCtrl',function ($scope,$http,parseSearch) {
$scope.isSubmit=false;
var did=parseSearch(location.search).did;
$scope.order={did:did};
$scope.submit=function () {
$scope.isSubmit=true;
// var str=jQuery.param($scope.order);
// $http.get('../data/order_add.php?did='+did+'&user_name='+$scope.order.user_name+'&sex='+$scope.order.sex+'&phone='+$scope.order.phone+'&addr='+$scope.order.addr).
// success(function (data) {
// console.log(data);
// $scope.oid=data.oid;
// })
var str=jQuery.param($scope.order);
$http.post('../data/order_add.php',str).success(function (data) {
console.log(data);
})
}
}).
service('parseSearch', function () {
return function (search) { //可以在所有的Controller中使用的一个函数——Service
/*将形如'?did=2&pno=3&uname=tom&loc=bj转换为一个对象'*/
var result = {};
search = search.substring(1);
var arr = search.split('&'); //['did=3', 'pno=5', 'uname=tom']
angular.forEach(arr, function (v, k) {
var kv = v.split('=');
result[kv[0]] = kv[1];
})
return result;
}
})
你的php後端有開post介面麼?我感覺是你只開了get類型的介面。
除此之外,不知道你後端的約定資料格式是啥,你這兒的資料是經過jq的param過的字串,若你沒指定發送的內容格式的header,你的後端很可能不知道怎麼解析。或是直接把formbody當個字串解析了。
之前的一篇文章,或許對你有用
http://blog.anchengjian.com/#...