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 백엔드에 게시 인터페이스가 있나요? 내 생각에는 get 유형 인터페이스만 연 것 같습니다.
또한, 귀하의 백엔드에서 합의된 데이터 형식이 무엇인지 모르겠습니다. 여기에 있는 데이터는 jq의 매개변수를 통해 전달된 문자열입니다. 전송할 콘텐츠 형식의 헤더를 지정하지 않으면 백엔드에서 오류가 발생할 수 있습니다. 그것을 분석하는 방법을 모른다. 또는 formbody를 문자열로 직접 구문 분석합니다.
이전 기사가 도움이 될 수 있습니다
http://blog.anchengjian.com/#...