2017-04-23 251 views
1

我正在使用似乎构建在Django上的端点。通过POSTDjango - 未提供身份验证凭证

试图建立基本的Ajax通信它,我写道:

jQuery.ajax({ 
    type: "POST", 
    url: "http://API-ENDPOINT-URL", 
    data: "", 
    dataType: "json", 
    crossDomain: false, 
    beforeSend: function(xhr){ 
      xhr.withCredentials = false; 
      xhr.setRequestHeader('Authorization', 'Token <TOKEN THAT I WAS PROVIDED>'); 
    }, 
    success: function(results) 
    { 
     reqListener(results) 
    } 


}); 

有了这些代码的一些事情发生了:

  1. 我,因为我想首先得到了CORS错误在我的本地服务器上构建。我安装了这个chrome extension来绕过它。 (我没有访问服务器,以使CORS)

2.我在控制台收到此错误:

的XMLHttpRequest无法加载http://API-ENDPOINT-URL。对于 预检响应具有无效的HTTP状态代码401

  • 看铬控制台的网络请求我看到这个回来:
  • {”详细信息“:”未提供身份验证凭据。“}

    我在想什么?我错误地发送身份验证令牌吗?

    +1

    您正在使用哪个Django身份验证软件包? –

    +0

    我看不出来。我无法访问服务器,我只是试图在Javascript中从客户端与它进行交互。 – Simple

    +0

    你可以尝试在ajax请求'xhrFields:{withCredentials:true}',' –

    回答

    0

    通过未启用CORS的Javascript执行令牌认证是一项自杀任务。

    像我这样做你自己的忙,只是通过服务器端做。