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