解决: 问题出在我的PHP脚本中的第二个回声。由于某种原因,它搞砸了我的东西。一旦我只留下了第一个回声,一切似乎都完美无缺。
我正在尝试使用JSON对象创建一个简单的post请求到PHP脚本。出于某种原因,我得到“SyntaxError:Unexpected token {”但我检查了我的JSON并且它是有效的。我不确定这里发生了什么。我将不胜感激任何帮助。
app.factory('HttpRequestFactory', function($http, $q) {
var HttpRequestFactory = {
async: function() {
var deferred = $q.defer();
var myData = {"param1":"value1","param2":"value2","param3":"value3"};
var url = '/test.php';
$http({
url:url,
data : myData,
method : 'POST'
})
.success(function (data, status, headers, config) {
deferred.resolve(data);
})
.error(function(data, status, headers, config){
deferred.reject("An error occured");
});
return deferred.promise;
}
};
return HttpRequestFactory;
});
这是我的PHP代码。事实证明,如果我评论echo json_encode($ _ POST);错误消失了。
<?php
header('Content-Type: application/json');
echo json_encode($_POST);
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
答案 0 :(得分:0)
您是否在帖子请求中添加了标题?请参阅此帖子:How can I post data as form data instead of a request payload?
$http({
method: 'POST',
url: url,
data: xsrf,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})