在剧本中:“http://theip.com/something/index.php
我有以下javascript URI:
var uri = '/something/script.php?=' + someDynamicValue
我传递给函数“loadHTML(url,div)”
someDynamicValue
可以包含空格和其他符号,这些符号会导致JQuery与$.load()
崩溃。
所以,我尝试编码uri:
$('#'+div).load(encodeURIComponent(uri));
并给出
http://theip.com/something/%2Fsomething%2Fscript.php%3Fq%3D?_=1399924421585
也就是说,复制/ something(应该是一个绝对的URL,所以它应该转到http://ip.com/something/script.php
)
现在,如果我执行以下操作:
$('#'+div).load(encodeURIComponent(uri).replace(/%2F/g,'/'));
我得到了一个“好”的网址,但却给出了404错误:
http://theip.com/something/script.php%3Fq%3D?_=1399923477529
所以我猜它可能会将script.php%3Fq%3D?_=1399923477529
作为文字脚本名称。
我该如何解决? (对网址的其余部分进行编码)。
谢谢!
答案 0 :(得分:1)
您只需要对尚未正确进行URI编码的部分进行编码:
var uri = '/something/script.php?foo=' + encodeURIComponent(someDynamicValue)
$('#'+div).load(uri);