0

我需要专家的帮助。

我想将图片上传到我的 php 脚本,它可以工作。现在,我想在上传到我的 div #showdata 后取回 JSON 响应,但它不起作用:(

开始传输上传

     var options = new FileUploadOptions();
                options.fileKey="file";
                options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
                options.mimeType="image/jpeg";

                var params = new Object();
                params.message = pmsg;
                options.params = params;
                options.chunkedMode = false;
        var ft = new FileTransfer();
        ft.upload(imageURI, server, function(r) {
        document.getElementById('camera').innerHTML = "Upload successful: "+r.bytesSent+" bytes uploaded.";  
        $.mobile.hidePageLoadingMsg();

 // here get the Json response

    $('#showdata').html("<p>item1="+r.item1+" item2="+r.item2+" item3="+r.item3+"</p>");}, function(error) {
    document.getElementById('camera').innerHTML = "Upload failed: Code = "+error.code;              
    }, options); }

你能帮我吗,我如何显示 JSON 结果。谢谢!

4

2 回答 2

3

因此,在您的成功函数中,您将获得一个FileUploadResult,您将其称为“f”。那么 f 有一个名为“response”的属性,它为您提供来自 PHP 页面的响应。您必须查看响应并使用 JSON.parse() 将其转换为 Object。

于 2012-04-27T19:06:35.867 回答
0

来自服务器 PHP 页面的响应:

return json_encode(array('item1'=>'value1', 'item2'=>'value2'));

在 javascript 中解析 FileUploadResult:

try {
    var obj = JSON.parse(FileUploadResult.response); // Produces a SyntaxError
} catch (error) {
    console.log(error.message); // Handle the error - Unexpected token
}

尝试使用评估:

eval('var obj=' + FileUploadResult.response);
于 2016-01-28T11:09:36.743 回答