When I\'m trying to make an AJAX call from php (localhost)
to django (localhost:8000)
, it throws the following error.
XMLHt
AJAX, by default, can't make cross-domain requests.
You should refer to this link.
I swapped my internal IP (192.168.1.x) in the place of localhost and was able to call a XMLHttpRequest on it. This should do the trick without messing with cross origin policy.
Because the port is not the same, it's considered a cross origin request.
You must set a Access-Control-Allow-Origin
header in the script you are requesting.
Learn more:
http://enable-cors.org/server.html
or, specifically for django:
http://chase-seibert.github.io/blog/2012/01/27/using-access-control-allow-origin-to-make-cross-domain-post-requests-from-javsacript.html
1) php does not make ajax requests. php executes on the server side; javascript executes on the client side, and it is js that makes ajax requests to the server.
2) js does not allow you to make ajax requests to a different host than the one from which the current page was obtained from.
Try, something like:
$('#yourClickButtonId').click(function(){
$.ajax({
type: 'POST',
url: 'project/login?uid='+$('#usename')+'&token='+$('#token'),
success: function(data){
alert(data);
}
});
});
You should just use a relative path.