jquery-ajax-json / success data参数为null

时间:2012-10-03 10:37:42

标签: jquery ajax json

我尝试通过jQuery.ajax发送文件,发布效果很好。 保存文件完成后,我尝试发送回数据库信息的JSON对象,如下所示:

header("Content-Type: application/json; charset=utf-8");                
echo json_encode($DatabaseEntity);
die();

但客户端ajax success callback的“data”参数为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!
    }
});

Firefox FireBug显示结果:这是一个格式正确的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"
}

2 个答案:

答案 0 :(得分:0)

echo json_encode("Values"=>$DatabaseEntity);

alert(data.Values);

答案 1 :(得分:0)

如果只返回一个字符串,请使用.d属性

 alert(data.d)