开发者

jQuery Ajax request from local filesystem (Windows file:///)

I'm trying to do an ajax request to get the contents of "http://localhost/" running on Windows Wamp Server.

The script is running from something like this:

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

I'm just using a standard $.ajax request to try and get the contents of localhost:

$.ajax({
          type: 'GET', 
          url: 'http://localhost/',
          success: function(data) {
            alert('success');
          }, error: function (data) {
            aler开发者_StackOverflow社区t('failed');
          }
    });

I can't get it to be successful though... Seems to be some problem with the local filesystem or something. I'm not too sure.


Problem Solved!

I just had to add this header to my index.php file for http://localhost/

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

Thanks for your help anyhow guys!


You say that the script is running from a file:/// URL. It's best not to do AJAX requests from file URLs, because they are treated inconsistently. Chrome, for example, entirely disallows them.

However, your bigger problem here is the same-origin policy: you can only make AJAX requests to the same host as the web page itself. file:/// and http://localhost are not the same host (even if they are the same machine).

It's best to run everything off http://localhost.


This probably won't work, as the browser will think this is a cross-domain request. You've accessed the file via a file:// URL, but are trying to retrieve data from http://localhost. Try accessing your original file from http://localhost as well, and it'll probably start to work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜