【问题标题】:jQuery .load() to load dynamic page in div tagjQuery .load() 在 div 标签中加载动态页面
【发布时间】:2012-12-29 06:51:57
【问题描述】:

我正在尝试通过.load() 方法在 div 中加载 html 页面。

<div id="randomDiv">

然后在 Js 函数中(比如说点击一个按钮)尝试这个:$('#randomDiv').load('js/abc.html');

我在 html 文件中添加了"script src="js/jquery-1.8.2.min.js" "

但我收到此错误: XMLHttpRequest cannot load file:////C:/code/js/abc.html Origin null is not allowed by Access-Control-Allow-Origin.

我正在使用 Chrome。

此外,我在页面加载时收到几乎所有 js 的警告,包括“资源解释为脚本但使用 MIME 类型文本/纯文本传输”。

怎么了?

谢谢

【问题讨论】:

    标签: jquery google-chrome xmlhttprequest


    【解决方案1】:

    尝试使用

    $('#randomDiv').load('js/abc.html');
    

    这是一个跨域请求,不允许。从 localhost 而非 外部文件

    进行测试

    您的abc.html 应该在本地主机内

    【讨论】:

    • 我只使用#。不允许什么跨域请求,我不明白。我的 default.html 位于 C:/code/default.html ,包含加载代码的 default.js 位于 C:/code/js/default.js 。
    • 不客气,请将答案标记为正确的,以便以后的用户可以轻松找到正确的解决方案:)
    【解决方案2】:

    如前所述,您的选择器错误,但您还尝试向本地文件发出 ajax 请求,默认情况下是不允许的。您应该在 Web 服务器上运行您的页面,但您也可以使用 chrome.exe --allow-file-access-from-files 切换文件访问。

    有关更多信息,请参阅此问题XMLHttpRequest Origin null is not allowed Access-Control-Allow-Origin for file:/// to file:/// (Serverless)

    【讨论】:

    • 谢谢,我使用了 localhost,它可以工作。不知何故更改 chrome 设置不起作用。
    猜你喜欢
    • 2023-03-30
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    相关资源
    最近更新 更多