我正在尝试获取网站的页面受欢迎程度
<POPULARITY URL="google.com/" SOURCE="panel" TEXT="1"/>
使用alexa api。如果我发布
http://data.alexa.com/data?cli=10&dat=snbamz&url=http://www.google.com
进入浏览器我得到一个xml响应,但是使用ajax我没有得到任何回复
$.ajax({ type: "GET",
url: "http://data.alexa.com/data?cli=10&dat=snbamz&url=http://www.google.com",
dataType: "xml",
cache: false,
success:function(data){
alert(data);
}
});
我做错了什么?
答案 0 :(得分:0)
我会像这样构建它:
$.get(ajax_url, data, function(response) {
alert(response);
});
此外,我认为您希望为数据get
而不是$.post
,然后再指定get
。
答案 1 :(得分:0)
我想这是因为您正在尝试加载不属于您的域的xml文件。大多数浏览器默认会阻止它,因为它违反了跨域javascript规则。
如果您在开发人员工具(大多数浏览器中为F12)中查看控制台,您将看到与此类似的错误:
XMLHttpRequest无法加载 http://data.alexa.com/data?cli=10&dat=snbamz&url=http://www.google.com&_=1337464540283。 Access-Control-Allow-Origin不允许使用null。
最简单的方法(假设您正在运行PHP)是创建一个小的php文件,它将xml文件包装在您自己的服务器上并从那里加载。
以一个例子来看这个问题: