Jquery中的Ajax无法在本地文件中运行

Har*_*rix 10 html ajax jquery local

我用简单的ajax创建了简单的html文件.

index.html:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
    <div id="content"></div>

    <script>
        function show()
        {
                $.ajax({
                url: "2.html",
                cache: false,
                success: function(html){
                    $("#content").html(html);
                }
            });
        }

        $(document).ready(function(){
            show();
            setInterval('show()',1000);
        });
    </script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

文件2.html与文件index.html位于同一目录中.并包含例如:

 <p>ssss hkl jh lkh <b>d1111</b></p>
Run Code Online (Sandbox Code Playgroud)

当我在网络服务器上运行index.html时,一切正常.但是如果你在计算机上运行文件index.html作为本地文件ajax无法正常工作.怎么解决?

Que*_*tin 15

某些浏览器实施了强大的安全措施,以防止下载的网页访问文件系统上的任意文件.

切换到安全性较弱的浏览器(我认为Firefox允许通过XHR访问本地文件)或停止尝试运行没有HTTP的网站.


Bij*_*pam 10

如果您正在检查Chrome,这是Chrome的一个已知问题.使用XAMPP运行本地Web服务器,并测试您的ajax调用.

查看此票证:https://code.google.com/p/chromium/issues/detail?id = 40787

  • 更快,使用Python(当然).在终端:`cd/path/to/project/folder`然后`> python -m SimpleHTTPServer 8080`使用http://127.0.0.1:8080/或系统可能需要的变体.(OSX,Py 2.7x) (4认同)
  • 或者你可以使用node.js. > npm install -g http-server> cd/path/to/project/folder> http-server (2认同)