来自本地文件系统的jQuery Ajax请求(Windows文件:///)

Emm*_*uel 11 jquery wamp localhost wampserver

我正在尝试执行ajax请求以获取"http://localhost/"在Windows Wamp Server 上运行的内容.

该脚本运行如下:

file:///C:/my/path/index.html

我只是使用标准的$ .ajax请求来尝试获取localhost的内容:

$.ajax({
          type: 'GET', 
          url: 'http://localhost/',
          success: function(data) {
            alert('success');
          }, error: function (data) {
            alert('failed');
          }
    });
Run Code Online (Sandbox Code Playgroud)

我不能让它成功但是...似乎是本地文件系统的某些问题.我不太确定.

Emm*_*uel 15

问题解决了!

我只需要将此标头添加到我的index.php文件中,用于http:// localhost /

header('Access-Control-Allow-Origin: *');

无论如何,谢谢你的帮助!


lon*_*day 11

您说该脚本是从file:///URL 运行的.最好不要从fileURL 执行AJAX请求,因为它们的处理方式不一致.例如,Chrome完全不允许使用它们.

但是,这里更大的问题是同源策略:您只能将AJAX请求发送到与网页本身相同的主机. file:///http://localhost不是在同一台主机(即使它们是在同一台机器).

最好把一切都搞定http://localhost.

  • 不幸的是,我认为你是对的:(.可能对安全有好处,但在我的情况下不好. (2认同)