ajax call not working when trying to send data to localhost:8000 from localhost

后端 未结 5 1473
逝去的感伤
逝去的感伤 2020-12-06 19:33

When I\'m trying to make an AJAX call from php (localhost) to django (localhost:8000), it throws the following error.

XMLHt

相关标签:
5条回答
  • 2020-12-06 19:55

    AJAX, by default, can't make cross-domain requests.

    You should refer to this link.

    0 讨论(0)
  • 2020-12-06 19:59

    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.

    0 讨论(0)
  • 2020-12-06 20:00

    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

    0 讨论(0)
  • 2020-12-06 20:00

    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.

    0 讨论(0)
  • 2020-12-06 20:01

    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.

    0 讨论(0)
提交回复
热议问题