如果url
没有www,则下面的jQuery ajax脚本无法在我的网站上运行。我检查了Firebug并且它没有发送ajax调用。
$.ajax(
{
type: "POST",
url: "http://www.mysite.com/beta/products.php",
data: "page_type=index&sort=relevancerank&CartId=<?php echo $CartId;?>&HMAC=<?php echo $HMAC;?>",
success: function(msg)
{
$('#content-holder').html(msg);
},
error: function()
{
alert("An error occurred while updating. Try again in a while");
}
});
答案 0 :(得分:6)
我假设调用文档URL被引用为“mysite.com”或“subdomain.mysite.com”? XMLHttpRequest对象(支持jQuery Ajax调用的引擎)无法执行“跨域”请求。子域(例如“www”)符合条件。确保您的请求属于同一子域。
答案 1 :(得分:4)
您无需提供绝对网址,只需提供一个relative即可,无论您的网页是否加载了 www。子网域,它都能正常运行不:
//...
type: "POST",
url: "/beta/products.php",
//...
答案 2 :(得分:0)
您的服务器可能会重定向到“www”域吗?这可能只是同源策略阻止您的外部页面访问其他域。
答案 3 :(得分:0)
万维网。只是一个命名约定 - ajax将加载到任何可以通过dns查找的地址,或者只要有服务器响应请求,它就可以在ip地址上运行。
但是 - 出于安全原因,您的页面位置和ajax请求需要位于同一个域中。要绕过此限制,您需要使用名为JSONP
的东西