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.
精彩评论