我在我的网站上使用jQuery实现了自动提示脚本。当浏览器使用www(即www.xyz.com
)加载我的网站时,搜索建议不起作用,并在浏览器控制台中输出以下错误:
XMLHttpRequest无法加载 http://xyz.com/json.php?json=true&limit=15&input=testing。起源 Access-Control-Allow-Origin不允许http://www.xyz.com。
我知道jQuery / Chrome不允许我进行跨域AJAX调用,但是当我访问没有www的网站时(即只有xyz.com
),一切都运行良好。我怎么解决这个问题 ?有人有想法吗?
答案 0 :(得分:4)
您违反了same origin policy restriction。
根据此政策, http://www.xyz.com
和http://xyz.com
被视为跨域。
要解决此问题,只需在$.ajax()
请求中使用相对网址:
$.ajax({
url: '/json.php',
...
});
而非绝对:
$.ajax({
url: 'http://xyz.com/json.php',
...
});