【发布时间】:2017-01-20 10:54:05
【问题描述】:
我想在 POST 请求中发布数据。我有一个看起来像这样的登录表单
render(){
return (
<div className="LoginPage">
<div className="login-page">
<div className="form">
<form className="login-form">
<input id="username" type="username" placeholder="username"/>
<input id="password" type="password" placeholder="password"/>
<p className="message">Not registered? <a href="#">Request Username and Password</a></p>
</form>
<button onClick={this.handleLoginButtonClick.bind(this)}>login</button>
</div>
</div>
</div>
);
}
我在 handleLoginButtonClick 中发出 POST 请求
handleLoginButtonClick() {
let token;
var settings = {
"async": true,
"crossDomain": true,
"url": "https://trigger-backend.appspot.com/auth/login/",
"method": "POST",
"credentials": 'include',
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"data": {
"password": JSON.stringify(document.getElementById("password").value),
"username": JSON.stringify(document.getElementById("username").value)
},
success: function( data, textStatus, jQxhr ){
// alert("success");
},
}
$.ajax(settings).done((response) => {
token = JSON.stringify(response.auth_token)
this.context.router.push('/app')
});
所以我目前包括这样的数据
"data": {
"password": JSON.stringify(document.getElementById("password").value),
"username": JSON.stringify(document.getElementById("username").value)
}
但是 api 给了我这样的 400 错误
但与此同时,如果我像这样传递数据,那么它会起作用
"data": {
"password": "apurv",
"username": "Apurv"
},
这里有什么问题。两者应该是一样的吧?
【问题讨论】:
标签: javascript ajax reactjs post