从dropzone的ajax响应中获取响应文本

时间:2014-04-29 20:04:41

标签: javascript ajax dropzone.js

我从dropzone成功上传得到以下回复。

由此我需要获取responseText

我尝试过:console.log(response.xhr.responseText)这会显示完整的回复文字。

当我尝试从此img的responseText中获取console.log(response.xhr.responseText.img)时,控制台会抛出undefined

3 个答案:

答案 0 :(得分:7)

在您的示例中,rexponse.xhr.responseText的值是一个字符串,而不是一个对象。您可以将字符串解析为对象并访问img属性:

(JSON.parse(response.xhr.responseText)).img

...但是,由于Dropzone success事件同时获得file对象和已解析的responseText,因此您可以像这样编写success处理程序:

new Dropzone("#myUploader", { 
    url: "/upload",
    init: function () {
      this.on("success", function (file, responseText) {
        console.log(responseText.img);
      });
    }
});

有关详细信息,请查看the FAQ

答案 1 :(得分:1)

Saurabh解决方案在做出一些更改之后正在为我工​​作,因为我得到了

  

未捕获的SyntaxError:意外的令牌o

尝试时

init: function () { 
this.on("success", function (file, responseText) { 
var responsetext = JSON.parse(responseText); 
console.log(responsetext.file_name); });

所以我对它进行了一些修改并为我工作。

this.on("success", function (file) {
                var responsetext = JSON.parse(file.xhr.responseText);
                console.log(responsetext);});

答案 2 :(得分:0)

new Dropzone(“#myUploader”,{     url:“/ upload”,     init:function(){       this.on(“success”,function(file,responseText){         var responsetext = JSON.parse(responseText);         的console.log(responsetext.file_name);       });     } });