我使用jQuery加载方法加载一些页面来获取他们的元数据;例如标题,描述等。因为这似乎是一种简单的方法。
但是每当jQuery方法向任何URL发出请求时,它都会获得取消状态。为什么会这样?这与浏览器或服务器相关的东西会阻止它吗?
我使用的代码是:
$('.link').load('http://' +$('#link').val(), function (response, status, xhr) {
if (status == 'error') {
$('.linkinfo').html('Not a valid link!');
} else {
$('.linkinfo').html($(response).filter('title').text());
}
});
HTML代码是:
<input type="text" id="link" onkeyup="" />
<div class="linkinfo"></div>
<div class="link"></div>
输入将是www.google.com
或www.facebook.com
等任何链接。我只是想拿出他们的元数据。但每次都会执行status == 'error'
块。
我会在开发人员工具中使用“网络”标签对每个请求进行记录。哪个在Chrome中取消,在Mozilla Firefox中暂时移动。
答案 0 :(得分:0)
可以是相同的来源政策:
如果您检查附加备注
下的jQuery load()方法api.jquery.com/load
由于浏览器安全限制,大多数&#34; Ajax&#34;请求受原始政策的约束;请求无法从其他域,子域或协议成功检索数据。
同源政策: