我正在跟踪一个书示例,因此代码非常简单。

这是代码:

jQuery.get("ajax_search_results.php",
           { s:search_query },
           write_results_to_page, "html");

并且代码是ajax_search_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>

这在Firefox中可以正常工作。
但是在Chrome中,我可以在JS控制台中看到以下错误消息:
XMLHttpRequest cannot load
file:///C:/xampp/xampp/htdocs/snk/ajax_search_results.php?s=keyword.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'null' is therefore not allowed access.

您能帮忙找出问题所在吗?

最佳答案

如果您在使用Google Chrome浏览器时遇到以下问题:

[XMLHttpRequest无法加载文件。收到无效的回应。因此,不允许访问原始“null”。]

然后按照以下步骤创建批处理文件:

在桌面中打开记事本

  • 只需将以下内容复制并粘贴到当前打开的记事本文件中:

  • 开始“chrome”“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe” --allow-file-access-from-files
    导出
  • 注意:在上一行中,将完整的绝对地址替换为您的chrome安装位置。
    [要找到它...,请右键单击chrome.exe的快捷方式链接或图标,然后单击属性,然后将粘贴并粘贴到目标链接] [记住:在一行中开始文件通过按Enter键在另一行中退出]
  • 将文件另存为 fileName.bat [非常重要: .bat ]
  • 如果要稍后更改文件,请右键单击.bat文件,然后单击“编辑”。修改后,保存文件。

  • 这会做什么?它将打开具有文件访问权限的Chrome.exe。
    现在,从计算机上的任何位置,使用Google Chrome浏览器浏览html文件。
    我希望这将解决XMLHttpRequest问题。

    注意事项:只需使用bat快捷方式文件即可在需要时打开Chrome。
    告诉我是否可以解决您的问题。我有一个类似的问题,我以这种方式解决了。谢谢。

    关于javascript - 仅限Chrome中的错误:XMLHttpRequest无法加载文件网址所请求的资源上没有 'Access-Control-Allow-Origin' header ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21012385/

    10-12 00:40
    查看更多