$ .get()页面名称中包含特殊字符的HTML页面

时间:2014-09-08 15:30:27

标签: jquery html ajax encodeuricomponent

我试图通过$.get()功能获取HTML页面的内容。此页面的文件名中包含特殊字符 +

mypage+v1.html

以下是我尝试获取内容的方式:

$.get("mypage+v1.html", function(data){
    alert(data);
});

此代码在本地运行良好,可正确检索内容。只要我将其移动到Web服务器,它就会停止工作,并且ajax调用会返回 404 Not found 错误。

我尝试在脚本和文件名中用 _ 替换 + ,但它确实有效,但我需要保留加号..我试过了使用encodeURI()

$.get(encodeURI("mypage+v1.html"), function(data){
    alert(data);
});

并手动将 + 替换为%2B

var url = "mypage+v1.html".replace("+", "%2B");
$.get(url , function(data){
    alert(data);
});

但它没有做到这一点..

使用

$.get(encodeURIComponent("mypage+v1.html"), function(data){
    alert(data);
});

引发以下错误:

GET http://.../mypage%2Bv1.html 404 (not found)

即使使用已编码的网址也无效。


附注:我已成功使用

检索其他页面
$.load("pagename.html #divToAppendTo", function(res, stat, xhr){
    ....
});

我需要使用$.get,因为在将这些切片附加到原始HTML文件的不同部分之前,我需要操作和切片文件内容。我使用请求方法:GET 测试了$.load()来电,这样我知道该文件夹是可访问的。

还有其他想法吗?

由于

0 个答案:

没有答案