0

我正在使用 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.comwww.facebook.com。我只是想取出他们的元数据。但是status == 'error'每次都会执行该块。

我会记录使用开发人员工具中的网络选项卡发出的每个请求。这在 Chrome 中被取消并在 Mozilla Firefox 中暂时移动。

4

1 回答 1

0

可能是同源策略

如果您检查附加说明下的 jQuery load()方法

api.jquery.com/load

由于浏览器安全限制,大部分“Ajax”请求都受同源策略的约束;请求无法从不同的域、子域或协议成功检索数据。

同源政策:

http://en.wikipedia.org/wiki/Same_origin_policy

于 2013-11-14T17:51:51.520 回答