pav*_*lag 0 php post json angularjs
我试图将JSON传递给AngularJS中的PHP脚本,如下所示:
var testObj = {
answers : {
aa : 2,
ab : 3
}
};
var userAnswers = angular.toJson(testObj.answers);
$http.post("ajax/testAddObject.php?answers=" + userAnswers).
success(function(data){
console.log("Result: ", data);
});
Run Code Online (Sandbox Code Playgroud)
在PHP方面,我做了以下事情:
//... new PDO connection to DB
$answers = $_POST['answers'];
//some more stuff
Run Code Online (Sandbox Code Playgroud)
该$answers变量总是空的.但随后几乎随机,我看到了这个问题,答案说:
$_POSTContent-Type: application/json在标题中传递时将为空
而且,虽然我的代码是不是完全一样从问题的人,我改变了$_POST[...]对$_GET[...]上的PHP代码和它的工作!问题是,为什么?彼此之间有什么区别?因为,从我看来,似乎没有太大的区别......
$http.post("ajax/testAddObject.php?answers=" + userAnswers).
在这里,您将answers作为查询参数(GET)testAddObject.php发送到(而不是发布)(POST) - 注意?结尾处的参数testAddObject.php-
$ _GET数据作为URL中的参数传递.$ _POST不是.