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;
}
})
Adakah bahagian belakang php anda mempunyai antara muka siaran? Saya rasa anda hanya membuka antara muka jenis get.
Selain itu, saya tidak tahu apakah format data yang dipersetujui untuk bahagian belakang anda. Data yang anda ada di sini ialah rentetan yang melalui param jq Jika anda tidak menyatakan pengepala format kandungan yang akan dihantar, bahagian belakang anda boleh tidak tahu bagaimana untuk menghuraikan. Atau menghuraikan secara langsung badan bentuk sebagai rentetan.
Artikel sebelumnya mungkin berguna untuk anda
http://blog.anchengjian.com/#...