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;
}
})
Votre backend php a-t-il une interface de publication ? Je pense que vous avez seulement ouvert l'interface get type.
De plus, je ne sais pas quel est le format de données convenu pour votre backend. Les données que vous avez ici sont une chaîne transmise via le paramètre de jq. Si vous ne spécifiez pas l'en-tête du format de contenu à envoyer, votre backend peut le faire. Je ne le sais pas. Comment analyser. Ou analysez directement le corps du formulaire sous forme de chaîne.
Un article précédent pourra vous être utile
http://blog.anchengjian.com/#...