【问题标题】:Phonegap FileTransfer and JQuery Mobile JSON ResponsePhonegap FileTransfer 和 JQuery Mobile JSON 响应
【发布时间】:2012-04-27 15:31:31
【问题描述】:

我需要专家的帮助。

我想将图片上传到我的 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 结果。 谢谢!

【问题讨论】:

    标签: jquery json jquery-mobile cordova


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      来自服务器 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:

      eval('var obj=' + FileUploadResult.response);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-15
        • 2013-07-16
        相关资源
        最近更新 更多