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 に答える