0

我正在使用这个脚本 http://hayageek.com/docs/jquery-upload-file.php

对于我的上传者。

上传很棒,一切正常,我的服务器端脚本在成功上传后返回一个 JSON,但是,在成功事件中,我无法获取 json 值

$("#fileuploader").uploadFile({
    url: site.url + 'main/upload',
    fileName: 'cpp',
    multiple: false,
    method: "POST",
    allowedTypes: "png,gif,jpg,jpeg",
    dragDrop:true,
    onSuccess:function(files,data,xhr)
    {
        if(data.error){
            //there is an error
        } else {
            //there is no error
            console.log('no errors ' + data.path);
            $('.img-thumbnail').attr('src', data.path);
        }

    },
    onError: function(files,status,errMsg)
    { 
        console.log('uplaod failed');
    }
});

我的服务器端脚本返回的 JSON 是(如在 firebug 中看到的)

{"error":false,"msg":"Success","path":"http:\/\/www.domain.com\/uploads\/thumb.png"}

但是,data.path 返回 undefined(我使用 console.log 来检查),但是当我用 alert(data) 输出它时,那里的数据似乎是完整的。(p/s:data.error,data.msg 也返回未定义的值)。

这是我的逻辑有问题还是我遗漏了什么?

4

1 回答 1

0

使用returnType: "json"

尝试使用parseJSON() 之类的,

onSuccess:function(files,data,xhr)
{
    data=$.parseJSON(data); // yse parseJSON here
    if(data.error){
       //there is an error
    } else {
       //there is no error
       console.log('no errors ' + data.path);
       $('.img-thumbnail').attr('src', data.path);
    }
},
于 2013-10-15T05:08:24.433 回答