为何jQuery AJAX会给相对路径加额外路径?如何修正请求路径?
解决AJAX请求路径指向网站根目录的问题
很简单,你只需要在请求的URL前面加上一个**斜杠(/)**就能搞定!
原因很直观:当你写"search/prefetch"这种不带斜杠的相对路径时,浏览器会自动把它拼接到当前页面的路径末尾(也就是http://<myhost>/<another-path>/),所以最终生成了http://<myhost>/<another-path>/search/prefetch。而加上斜杠之后,浏览器会直接从网站的根目录(http://<myhost>/)开始拼接路径,这样就恰好得到你想要的http://<myhost>/search/prefetch。
修改后的代码如下:
$.ajax({ url: "/search/prefetch", // 这里添加了开头的斜杠 success: function (data) { $(".result").html(data); alert("Load was performed."); }, dataType: "json" });
额外提一句:哪怕你的网站部署在子目录下,只要你需要指向当前域名的根路径资源,这个加斜杠的方法都能稳定生效。
内容的提问来源于stack exchange,提问作者ozgur
相关产品推荐
相关产品推荐

