这曾经完美地工作,现在神秘地它没有......
我有一个带有链接的第一个 html 页面。通过click
在链接中进行操作,我想将来自另一个页面的内容通过Ajax
并显示在div
第一页上。
错误发生在加载“ajax-content-html”文件的行中:
$("#destino").load("contenido-ajax.html");
Chrome浏览器给出的错误如下:
从源“null”访问“file:///C:/misphp/contenido-ajax.html”处的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome -扩展,https。
如果我打开 Mozilla 浏览器,它可以正常工作。之前它在 Chrome 上也能正常工作,现在不行。我已经在另外两台装有 Chrome 的计算机上尝试过,它们给出了同样的错误......
这个错误发生在本地,如果我将它上传到它运行正确的服务器。
为什么它在本地不起作用?
谢谢
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function()
{
$("#enlaceajax").click(function(evento)
{
evento.preventDefault();
$("#destino").load("contenido-ajax.html");
//alert("");
});
})
</script>
</head>
<body>
<a href="#" id="enlaceajax">Haz clic!</a>
<br>
<div id="destino"></div>
</body>
</html>
发生的情况是它需要一个 Web 服务器才能正确运行,如果您使用 Linux,您可以安装 Apache 并将您的项目放在文件夹
/var/www/html
中,然后在浏览器中运行它:localhost/capeta_proyecto
你也可以用 Firefox 试试,它会工作的;为了安全起见,在新的 Google 更新中,不再允许在没有 Web 服务器(使用协议
http
)的情况下运行使用 Ajax、JavaScript 或 JQuery 的应用程序一个快速有效的解决方案是使用 Chrome 扩展程序
Web server for chrome
,您可以从这里下载安装后,您只需选择您的网页所在的目录,它将上传到该服务器:
我的解决方案是使用http-server在本地服务器上运行整个站点,如下所示: