When I'm trying to make an AJAX call from php (localhost)
to django (localhost:8000)
, it throws the following error.
XMLHttpRequest cannot load http://localhost:8000/project/login/uid=bimt;token=KAMWMS151UWP67Q. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
$(document).on('click', '.login', function(event) {
var username = $('#username').val();
var token = $('#token').val();
$.ajax({
type: "POST",
url: "http://localhost:8000/project/login/uid=" + username + ";token=" + token,
success: function (html) {
alert(html);
}
});
});
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With