Django - 未提供身份验证凭证
问题描述:
我正在使用似乎构建在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)
}
});
有了这些代码的一些事情发生了:
- 我,因为我想首先得到了CORS错误在我的本地服务器上构建。我安装了这个chrome extension来绕过它。 (我没有访问服务器,以使CORS)
2.我在控制台收到此错误:
的XMLHttpRequest无法加载http://API-ENDPOINT-URL。对于 预检响应具有无效的HTTP状态代码401
- 看铬控制台的网络请求我看到这个回来:
{”详细信息“:”未提供身份验证凭据。“}
我在想什么?我错误地发送身份验证令牌吗?
答
通过未启用CORS的Javascript执行令牌认证是一项自杀任务。
像我这样做你自己的忙,只是通过服务器端做。
您正在使用哪个Django身份验证软件包? –
我看不出来。我无法访问服务器,我只是试图在Javascript中从客户端与它进行交互。 – Simple
你可以尝试在ajax请求'xhrFields:{withCredentials:true}',' –