我正在运行一个网站(在开发环境中),其基本网址为 http://172.31.129.188:8888/pp/
。
来自http://172.31.129.188:8888/pp/pingpong
我有这个ajax调用:
$.post('pingpong/check/',
function (data) {
alert(data);
}
);
问题是,当 Firefox 和 Explorer 调用 http://172.31.129.188:8888/pp/pingpong/check
(如我所愿)时,Chrome 会调用 http://172.31.129.188:8888/pp/pingpong/pingpong/check
。我尝试了各种组合(例如添加和删除斜杠等),但 Chrome 似乎仍然有不同的方法。
任何人都可以帮助统一行为吗?谢谢
最佳答案
在我看来,Chrome 的行为正确,而 IE/Firefox 则不然。 URL 对于域来说是绝对的,如果以斜杠 (/) 开头,则相对于域基,或者相对于当前位置。
如果您从 /a/b
访问 b/c
,则应该是 /a/b/b/c
而不是 /a/b/c
由于 b
是相对于当前位置的,因此它不应该匹配该位置的部分内容并从那里继续。如果您需要使用相对 URL,请尝试调用 check/
来查看其行为是否正确。
关于Chrome 浏览器中的 JQuery Ajax 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279725/