使用 AJAX(Javascript 和经典 ASP),我有一个站点,该站点对某些 HTML 的 REST 服务器进行 XMLHTTP 调用。返回 HTML 时,Javascript 会使用结果填充 div 的 innerHTML。到目前为止,一切都很好。所有文本和图像在 IE9/10 中看起来都很完美,但在 Firefox、Chrome 和 Safari 中不会出现图像(而是显示损坏的图像图标)。经过几个小时的搜索和一次又一次的测试,我只能发现一件事不合适。
图像文件名(文件的实际名称)包括“%2F”。这是一个示例图像文件名:47662/thumbnails/image300l%2F57%2F59%2F60_gc10acoba_tb1-2095489_001.png。注意路径 (47662/thumbnails/) 和文件名 (image300l%2F57%2F59%2F60_gc10acoba_tb1-2095489_001.png)
最后一个怪癖是,如果我通过浏览器直接访问 REST 站点,登录并导航到该图像所在的页面,则该图像会在所有浏览器中正确显示。但是,当从 REST 服务器调用中获取 HTML 并将其插入到 div 的 innerHTML 中时,FF、Chrome 和 Safari 的图像无法正确显示。
迄今为止,我已尝试将 %2F 替换为正斜杠和下划线。两次尝试都找不到图像文件。如果我将图像文件的完整 URL 粘贴到浏览器中,IE 会显示它,而 Chrome、FF 和 Safari 会弹出一个下载对话框。
我完全被难住了,真的可以使用一些帮助。提前致谢!