我正在发起一个HTTP POST请求与Ajax到我的PHP文件,但我没有得到所需的结果。 $ _POST和$ _GET都是空的。我想我忽略了一些东西,但我不知道是什么。Ajax POST请求没有通过到PHP
这里是我的烧制的请求代码:
this.save = function() {
alert(ko.toJSON([this.name, this.description, this.pages]));
$.ajax("x", {
data: ko.toJSON([this.name, this.description, this.pages]),
type: "post", contentType: "application/json",
success: function(result) { alert(result) },
error : function(jqXHR, textStatus, errorThrown) { alert(textStatus + errorThrown)}
});
};
注意,我提醒JSON上线3. JSON是正确的,所以第5行输入有效。在PHP
我的测试方法:
header('Content-type: application/json; charset=utf-8');
echo json_encode(array_merge($_POST, $_GET));
exit;
我得到的响应是一个空数组。
- 我测试了输入(见上面);
- 我知道Ajax调用本身成功,如果我将我的PHP示例中的第二行替换为
json_encode(array('success' => true));
我在页面中返回 - 所以URL是正确的。 - 我用GET和POST测试了它,得到了类似的负面结果。
你能写出ko.toJSON([this.name,this.description,this.pages])的输出吗? –
你可以在KnockoutJS中使用这个操作符吗?在这一行:ko.toJSON([this.name,this.description,this.pages])。有一些关于这个和自我的文档。 – JvdBerg
'[“Name”,“Description”,[{“title”:“Page 1”,“selectedPageStyle”:“Header”}]]' – Sherlock