jQuery的文件上传 - IE回调的结果对象的对象(jquery file upload - I

2019-10-17 00:00发布

好,我知道有这个问题已经在那里: jQuery的文件上传- IE做回调data.result问题

不过,我有同样的问题,不知道如何解决它。 我有这个样子(基于其他职位的建议)的一些工作的代码:

if($.fn.wl_File) $.fn.wl_File.defaults = {
    forceIframeTransport: true,
    onDone: function (e, data) {
    var result = jQuery.parseJSON(data.result);
    var filename = result[0].name;
    }
}

它提取完美的火狐,Chrome等除了IE回调信息。 但是,我还是得到的翻译:从IE回来。 我得到下面的结果回来时,我做console.log(data.result)在Chrome:

[{
"name": "1_3266_671641333369_14800358_42187036_5237378_n.jpg",
"size": 35535,
"type": "image\/jpeg",
"url": "\/web\/upload\/1_3266_671641333369_14800358_42187036_5237378_n.jpg",
"thumbnail_url": "\/web\/upload\/thumbnails\/1_3266_671641333369_14800358_42187036_5237378_n.jpg",
"delete_url": "\/web\/upload.php?file=1_3266_671641333369_14800358_42187036_5237378_n.jpg",
"delete_type": "DELETE",
"upload_type": "video_montage",
"insert_id": "288"
}]

我不知道如何解决这个问题。 根据我的代码,任何人都可以点我在正确的方向?

仅供参考,我使用以下主题: http://revaxarts-themes.com/?t=whitelabel它调用了jQuery上传插件,这就是为什么我的代码看起来在上面稍有不同,但它基本上是同样的事情插件代码。

任何帮助,非常感谢在这个令人沮丧的问题!

Answer 1:

我发现从我在我的问题中提到的职位,要解决这个。 但是,我不得不扩大一点就可以了,以满足不同的浏览器。 原来答案就有关如何从IE浏览器中的数据,但该方法没有为其他浏览器。 我不得不添加一个if语句来看看我的浏览器类型,并从那里继续。 我的代码来处理这种情况如下所示:

if($.browser.msie){
    var data_to_parse = $( 'pre', data.result ).text();
}else{
    var data_to_parse = data.result;
}
var result = jQuery.parseJSON(data_to_parse);
var filename = result[0].name;

现在我可以操纵我从两个IE和其他浏览器得到的回应!



Answer 2:

的console.log在IE不奇妙在其他浏览器,它是正常的输出对象的对象。 你可以做的是开始开发工具(F12),并在该行添加一个断点:

 var result = jQuery.parseJSON(data.result);

有关如何调试的详细信息: 如何倾倒的JavaScript在IE8瓦尔?

另外值得一读,使用Firebug精简版: jQuery的日志在IE:如何让对象?



文章来源: jquery file upload - IE callback results in object Object