首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/ success数据参数为空。

/ success数据参数为空。
EN

Stack Overflow用户
提问于 2012-10-03 10:37:42
回答 2查看 1.3K关注 0票数 1

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

代码语言:javascript
复制
header("Content-Type: application/json; charset=utf-8");                
echo json_encode($DatabaseEntity);
die();

但是客户端ajax成功回调的"data“参数为null,而不是JSON对象。

jQuery.ajax的设置如下:

代码语言:javascript
复制
$.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字符串

你知道为什么“数据”是空的吗?

更新

$DatabaseEntity包含这样的内容:

代码语言:javascript
复制
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"
}
EN

回答 2

Stack Overflow用户

发布于 2012-10-03 10:40:04

代码语言:javascript
复制
echo json_encode("Values"=>$DatabaseEntity);

alert(data.Values);
票数 0
EN

Stack Overflow用户

发布于 2012-10-03 10:43:19

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

代码语言:javascript
复制
 alert(data.d)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12706755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档