Javascript 仅在Chrome中出错:XMLHttpRequest无法加载文件URL号';访问控制允许原点';请求的资源上存在标头
我遵循一本书的例子,因此代码非常简单 代码如下:Javascript 仅在Chrome中出错:XMLHttpRequest无法加载文件URL号';访问控制允许原点';请求的资源上存在标头,javascript,google-chrome,Javascript,Google Chrome,我遵循一本书的例子,因此代码非常简单 代码如下: jQuery.get("ajax_search_results.php", { s:search_query }, write_results_to_page, "html"); 代码是ajax\u search\u results.php有: <div id="ajax_search_results"> <ul> <li><a href="#">F
jQuery.get("ajax_search_results.php",
{ s:search_query },
write_results_to_page, "html");
代码是ajax\u search\u results.php有:
<div id="ajax_search_results">
<ul>
<li><a href="#">First result</a></li>
<li><a href="#">Second result</a></li>
<li><a href="#">Third result</a></li>
<li><a href="#">More...</a></li>
</ul>
</div>
你能帮我找出问题所在吗?这可能是因为你试图提出跨域请求,或者是因为某些事情被澄清了。 您可以尝试添加
标题('Access-Control-Allow-Origin:*)代码>到请求的文件
此外,如果在IE 8-10中使用事件源
或XHR轮询
(这让我第一次感到困惑),服务器发送的事件实现有时会出现这种问题。将此添加到文件顶部
header('content-type: application/json; charset=utf-8');
header("access-control-allow-origin: *");
如果您在使用Google Chrome时遇到以下问题:
[XMLHttpRequest无法加载文件。收到无效响应。因此不允许访问源代码“null”。]
然后按照以下步骤创建批处理文件:
在桌面中打开记事本
只需将以下内容复制并粘贴到当前打开的记事本文件中:
启动“chrome”“C:\ProgramFiles(x86)\Google\chrome\Application\chrome.exe”--允许从文件访问文件
出口
注意:在前一行中,将完整绝对地址替换为您的chrome安装位置。
[要找到它…右键单击chrome.exe链接的快捷方式或图标,然后单击属性,复制粘贴目标链接][请记住:开始一行中的文件,&按enter键退出另一行]
将文件另存为文件名.bat[非常重要:.bat]
如果以后要更改文件,请右键单击.bat文件并单击编辑。修改后,保存文件
这能做什么?它将以文件访问权限打开Chrome.exe。
现在,从计算机中的任何位置,使用谷歌浏览器浏览html文件。
我希望这将解决XMLHttpRequest问题
请记住:只要在需要时使用快捷方式bat文件打开Chrome即可。
告诉我这是否解决了你的问题。我有一个类似的问题,我就这样解决了。谢谢。通过web服务器打开文件,例如http://localhost/someFile.html
。默认情况下,Chrome不允许AJAX请求文件://
URL,并且您的PHP脚本无论如何都不会执行。您是否将其作为文件打开?在服务器上打开它,这意味着地址如下http://....Note: 出于安全原因,只能将其用于本地测试。简单地停用CORS并不是一个优雅的解决方案。不要这样做。更好地理解CORS是什么以及如何使用它:@AmirKaftari:很高兴能帮忙!
header('content-type: application/json; charset=utf-8');
header("access-control-allow-origin: *");