所以我的js文件过去很好用:
function checkLoggedIn() {
new Request.JSON({
url: 'http://localhost/site/ajax/auth.php',
onSuccess: function(data) {
// Do some stuff
}
}).send('action=check');
}
然后我决定将我的页面提供给世界其他地方,所以我改变了代码:
function checkLoggedIn() {
new Request.JSON({
url: '<?=SOME_URL=>ajax/auth.php',
onSuccess: function(data) {
// Do some stuff
}
}).send('action=check');
}
在PHP中,我已将SOME_URL定义为指向Web服务器。我试图在同一台机器(网络服务器)上测试该网站,但想象一下,当它不起作用时我会感到惊讶!请求失败了,虽然我不知道如何检查有什么错误消息。我的js控制台是空的。
如果我用相对路径替换URL会有什么奇怪的,它可以正常工作。
我尝试使用第二个代码段访问另一台计算机上的Web服务器,效果很好。服务器浏览器(firefox)上的js解析器不喜欢指向自身的请求吗?为什么它比FQDN更喜欢“http:// localhost /”?
谢谢!
编辑:对于那些想知道来源显示的人:
function checkLoggedIn() {
new Request.JSON({
url: 'http://www.example.com/application/ajax/auth.php',
onSuccess: function(data) {
// Do some stuff
}
}).send('action=check');
}
机器本身就是example.com,在机器上通过apache confs定义。
答案 0 :(得分:0)
当您使用/ajax/auth.php而不是'http://www.example.com/application/ajax/auth.php'时会发生什么?如果它们位于同一个域
,这应该有效