所以我设置了一个web api,设置为生成一个令牌,当你发送一个用户名和密码时,如果你给这样的身体提供了相同的用户名和密码,就会返回一个令牌
这可以为你提供一个令牌和正确的信息,但是当我从chrome,firefox或者它给我一个错误时,我的代码就是这个,
var d = {
username: Uname,
surname: Pword,
grant_type: "password",
client_id: "099153c2625149bc8ecb3e85e03f0022",
};
console.log(d);
var self = this;
return (
axios.post('http://localhost/hydraauth/oauth/token', {
headers: {
'Content-Type': 'application/json',
},
data: d
}).then(function (response) {
console.log(response.data)
self.setState({
isLoggedIn: true,
Uname: Uname,
}, function () {
sessionStorage.setItem("Login", true);
sessionStorage.setItem("Uname", Uname)
window.location.href = "/";
});
}).catch(function (error) {
if (error.response){
console.log(error.response)
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else {
window.alert("Incorrect Username Or Password Or Unauthorized To Access This.")
}
})
);
在Chrome中给出了这个错误
这是扩展错误
chrome中的网络选项卡图像响应选项卡为空
答案 0 :(得分:1)
Axios在通过正文发送数据时遇到问题,因此您需要使用npm plugin query string
并像这样使用
axios.post("http://localhost/hydraauth/oauth/token", querystring.stringify({ "username": Uname, "password": Pword, "grant_type": "password", "client_id": "eyJjbGllbnRfaWQiOiJTYXZ2eS1Dcm0tUmVhY3QtSnMtU3lzdGVtIn0" }))