问题
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) {
alert(\'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.
回答1:
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!
回答2:
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
.
回答3:
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.
来源:https://stackoverflow.com/questions/5469440/jquery-ajax-request-from-local-filesystem-windows-file