React Js Axios Post Request没有收到来自web api的正文

时间:2017-08-14 14:36:51

标签: javascript reactjs axios

所以我设置了一个web api,设置为生成一个令牌,当你发送一个用户名和密码时,如果你给这样的身体提供了相同的用户名和密码,就会返回一个令牌

enter image description here

这可以为你提供一个令牌和正确的信息,但是当我从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中给出了这个错误

enter image description here

这是扩展错误

enter image description here

chrome中的网络选项卡图像响应选项卡为空

enter image description here

1 个答案:

答案 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" }))