jquery ajax json/success数据参数为null
我尝试通过jQuery.ajax发送文件,发布效果很好。 保存完文件后,我尝试发回数据库信息的JSON对象,如下所示:jquery ajax json/success数据参数为null,jquery,ajax,json,Jquery,Ajax,Json,我尝试通过jQuery.ajax发送文件,发布效果很好。 保存完文件后,我尝试发回数据库信息的JSON对象,如下所示: header("Content-Type: application/json; charset=utf-8"); echo json_encode($DatabaseEntity); die(); 但是客户端ajax成功回调的数据参数为null,而不是JSON对象 jQuery.ajax的设置如下: $.ajax({ url: /* u
header("Content-Type: application/json; charset=utf-8");
echo json_encode($DatabaseEntity);
die();
但是客户端ajax成功回调的数据参数为null,而不是JSON对象
jQuery.ajax的设置如下:
$.ajax({
url: /* url */,
type: "POST",
data: postingData, // it's a FormData object
dataType: "json",
cache: false,
contentType: false, // it's because the FormData, if I set "multipart/form-data", then the data not sended
processData: false,
success: function(data) {
alert(data); // => this is NULL, and I don't know why!
}
});
FirefoxFirebug显示了结果:这是一个格式良好的JSON字符串
你知道为什么数据是空的吗
更新
$DatabaseEntity包含以下内容:
object(DatabaseEntity)#15 (9) {
["Label"]=>
string(5) "somethinglabel"
["Description"]=>
string(3) "somethingdesc"
["Link"]=>
string(6) "somethinglink"
["FileID"]=>
string(4) "1761"
["Order"]=>
string(1) "1"
["Visible"]=>
string(1) "1"
["ID"]=>
string(1) "1"
}
如果只返回一个字符串,请使用.d属性
alert(data.d)
因为$DatabaseEntity在服务器端本身是空的..尝试在json_encode函数之前在服务器端打印它,并查看itit中的内容它不是空的,它是一个对象$DatabaseEntity是数组吗?你能指定$DatabaseEntity吗?我正在用$DatabaseEntity规范更新这个问题。我希望它有用。我返回一个对象,但数据为null,因此data.d也为null
alert(data.d)