jQuery加载方法给出了取消状态
我使用jQuery加载方法加载一些页面以获取它们的元数据;例如标题、描述等,因为这似乎是一种简单的方法 但每次jQuery方法向任何URL发出请求时,它都会获得取消状态。为什么会这样?这是与浏览器有关还是服务器阻止了它 我使用的代码是:jQuery加载方法给出了取消状态,jquery,Jquery,我使用jQuery加载方法加载一些页面以获取它们的元数据;例如标题、描述等,因为这似乎是一种简单的方法 但每次jQuery方法向任何URL发出请求时,它都会获得取消状态。为什么会这样?这是与浏览器有关还是服务器阻止了它 我使用的代码是: $('.link').load('http://' +$('#link').val(), function (response, status, xhr) { if (status == 'error') { $('.linkinfo').htm
$('.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中临时移动。可能是一种同源策略: 如果在附加注释下选中jQueryload()方法 api.jquery.com/load 由于浏览器的安全限制,大多数“Ajax”请求都受同源策略的约束;请求无法从其他域、子域或协议成功检索数据 同一原产地政策:
我们可以看到输入的HTML吗?当然可以,这只是一个简单的输入!我才意识到:你是想出去找一个非本地的网站。。。由于跨域限制,这是行不通的。那么Facebook、Tumblr和其他专业是如何获得元数据的呢?有没有办法获取这些数据?他们可能使用一个本地代理,使用服务器层技术获取这些数据。