1

更新
我刚刚测试了我的示例的链接......该死的东西有效。!我不服气???仍然欢迎任何意见。

我刚刚更新了我的浏览器,Chrome 拒绝了我(以前工作的)对包含 html 的简单文本文件的 ajax 调用。这是我当前的基本代码:

var stringData = $.ajax({ url: 'digz/index/'+$(this).attr("id")+'.txt', async: false }).responseText;
var $newItems = $(stringData);
alert($newItems.filter('.element').length); // FF & IE OK but Chrome = '0'
// there are few things here and I have tested with them rem'd out
$('#container').isotope( 'insert', $newItems ); // std. isotope form

Chrome 控制台给了我:

Failed to load resource: Origin null is not allowed by Access-Control-Allow-Origin.   
XMLHttpRequest cannot load [...file path/name... ] Origin null is not allowed by Access-Control-Allow-Origin.

以及 jquery 中的指针 - 在 1.9.0 版中的第 8472 行附近

// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( s.hasContent && s.data ) || null );

我在这里有一个精简版的项目:
Ajax 上的 Null return

我认为 ajax 行是问题,需要修改。我尝试了很多替代排列,但有很多选择,我在这里的经验是有限的。

4

1 回答 1

0

您很可能正在使用该file:///方案打开文件。如果这样做,Chrome 将不允许直接访问硬盘的文件。

正如我的其他答案所提到的,有一种解决方法可以使用此标志运行 Chrome:

--allow-file-access-from-files

但是,如果您打算使用本地机器进行认真的开发,最理想的解决方案是在本地安装 Apache 以通过http://localhost. 这解除了file:///方案限制,因为所有浏览器都将使用该http协议加载页面。

这些通常用于本地开发:EasyPHPWAMPXAMPPBitNami

于 2013-09-23T00:11:31.213 回答