【发布时间】:2013-07-11 11:27:42
【问题描述】:
我有一个点击事件,我在其中编写了一个 json 数据,然后我想 将其发布到 PHP 文件中进行处理。但是出了点问题。 我的 PHP 文件现在被简化如下:
<?php
header('Content-Type: application/json');
var_dump($_POST);
?>
POST-ing 的代码如下所示:
// myarray is: var myarray = new Array();
// and it gets populated above this code
var strObj = JSON.stringify(myarray);
alert(strObj); // so far I get the alert containing valid JSON text
$.ajax ({
type:"POST",
url:"proces.php",
contentType: "application/json",
dataType: "json",
async: false,
data: strObj,
success: function(){ alert("success")},
error: function(){ alert("error")}
});
所以当我单击按钮时,我收到包含 JSON 字符串的警报(看起来不错),然后我收到警报说“错误”,当我检查控制台以获取 proces.php 的响应时,我看到的只是:
array(0) {
}
我做错了什么?我该怎么做才能改正?
【问题讨论】:
-
我认为你需要将 header 更改为: header('Content-type: application/json'); (在 proces.php 的第 1 行)(并返回有效的 JSON 响应)
-
我将标题添加到我的 php 文件中仍然没有什么新内容。反应是一样的。 (我更新了问题正文中的php)
-
回显 json_encode($_POST);
-
将
console.log(this, arguments);添加到错误回调并在控制台中检查您得到的确切错误;您在success参数名称中也有错字。 -
@Tommi 我解决了成功参数问题。不是真正的问题。我在这里手动输入了代码(不是复制/粘贴),所以这只是一个错字。