使用blueimp调试IE问题(jQuery文件上传)

时间:2013-05-27 15:26:37

标签: jquery internet-explorer blueimp

我正在使用blueimp和user_dirs(基于会话的上传目录)。

当在FF,Chrome,Safari等上传完成后,我会看到缩略图。

在上传完成后的IE 9中,我看到“Error SyntaxError:Invalid character”。 IE开发面板显示没有错误。 AND ...如果我刷新缩略图显示并且上传成功。

在IE 8中它是相同的,但我得到“错误[对象错误]”,如果刷新我看到上传成功,缩略图存在并链接。

如果我使用Chrome提取收到的JSON,我会看到以下条目:

{
    "files": [{
        "name": "us (1).jpg",
        "size": 40294,
        "type": "image\/jpeg",
        "url": "http:\/\/upload.mysite.com\/uploads\/9cb5b4df96928f247b5bce2d4ed8a300\/us%20%281%29.jpg",
        "thumbnail_url": "http:\/\/upload.mysite.com\/uploads\/9cb5b4df96928f247b5bce2d4ed8a300\/thumbnail\/us%20%281%29.jpg",
        "delete_url": "http:\/\/upload.mysite.com\/blueimp\/server\/php\/?file=us%20%281%29.jpg",
        "delete_type": "DELETE"
    }]
}

我的下一步调试是什么?有没有办法在IE的开发面板中访问实际错误?

// 5.29 12:27 CST更新

当使用IE时,它在main.js中的/cors/result.html上获得了404:

$('#fileupload').fileupload(
        'option',
        'redirect',
        window.location.href.replace(
            /\/[^\/]*$/,
            '/cors/result.html?%s'
        )
    );

更新到正确的路径时:

$('#fileupload').fileupload(
        'option',
        'redirect',
        window.location.href.replace(
            /\/[^\/]*$/,
            '/blueimp/cors/result.html?%s'
        )
    );

我现在得到“错误清空文件上传结果”,但是在刷新显示上传成功之前按照...

找到另一个404文件:jquery.xdr-transport.js

修正路径,现在一切顺利。

//结束更新

3 个答案:

答案 0 :(得分:9)

在IE中,您可以尝试使用F12 Network标签和Start Capturing来查看实际的请求/响应(如果您还没有)。比较内容类型和长度的标题以及数据的实际编码与来自Chrome的数据,看看您是否能发现任何明显的差异?

答案 1 :(得分:1)

我为IE 9解决此问题的方法是将文件夹'cors'上传到网站。此文件夹包含postmessage.html和result.html文件。 在IE 9中使用检查器后,很明显IE 9使用result.html通过GET从服务器接收上传响应。由于我没有在我的服务器文件中包含此文件夹,因此我在IE 9中遇到了这个问题。在分析了服务器错误日志和读取器IE 9检查器的网络面板中的404消息后,我得到了这个解决方案。

答案 2 :(得分:1)

上传时可能会看到404响应的另一个原因是由于在接收发布文件的应用程序上设置了请求长度。