【发布时间】:2011-10-01 08:15:06
【问题描述】:
我想知道如何使用 jquery ajax 访问包含拉丁字符的文件地址。 我尝试使用以下脚本检索 xml 文件中的数据:
$.ajax({
type:'get',
url:encodeURI('configuration/'+(value).toLowerCase()+'.xml'),
dataType:'xml',
contentType:'application/x-www-form-urlencoded;charset=utf-8;',
success:function(content){
$('#content').html($('content',content).text().replace('nL','<br/>'));
});
});
但当我尝试访问其地址包含 unicode 字符(如 intrusão.xml)的 xml 文件时,问题会激增。
它一直在加载,没有任何反应。
以下是名为intrusão.xml的xml文件示例的内容:
<?xml version="1.0" encoding="utf-8"?>
<document>
<content>First line.nLSecond line.</content>
</document>
【问题讨论】:
-
如果使用Fiddler或Firebug之类的工具来监控GET请求,那么实际发送到服务器的URI的值是多少?如果给传递给 $.ajax 的对象添加错误回调函数,异常参数的值或 XHR 参数的状态是什么?
-
您是否可以直接在浏览器中检索文件?即直接在浏览器的地址栏中输入网址。
-
我可以在我的家庭服务器中访问它,但不能在我的托管服务器中访问它。当我在托管服务器上检查 error.log 时,它会呈现类似于以下内容的消息:文件不存在:html/configuration/submenus/intrus\xc3\xa3o.xml,intrus\xc3\xa3o.xml 对应于 intrusão.xml
-
我无法通过浏览器直接访问该文件。我收到一条错误消息,告诉您在此服务器上找不到 /configuration/submenus/intrusão.xml。
-
我已将托管服务器上的默认字符设置更改为 utf-8 以查看它是否会产生结果,但我遇到了同样的错误。