请求适用于Postman,但不适用于axios.post
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求适用于Postman,但不适用于axios.post相关的知识,希望对你有一定的参考价值。
我使用axios.post()在React-js中创建了一个注册表单。该请求可以通过Postman完美运行,使后端无罪,但我的组件中没有任何反应。
使用Try / catch或finally()无效。我在控制台中没有任何错误。我所有的变量定义如下:
constructor(props) {
super(props);
this.state = {
passwd: ''
}
}
onFieldChange(fieldName) {
return function (event) {
this.setState({[fieldName]: event.target.value});
}
}
render() {
return (
[...]
<form onSubmit={() => this.handleSubmit()}>
<input type="password" value={this.state.passwd} onChange={this.onFieldChange('passwd').bind(this)} placeholder="* Password" required />
<button type="submit">Sign-up</button>
</form>
[...]
问题部分:(((如果/其他)正常运行,并且重定向到/ SignIn可以在其他地方使用)
handleSubmit(event) {
if (this.state.email === this.state.email02 && this.state.passwd === this.state.passwd02 && this.state.lastname !== '') {
const data = {email: this.state.email, passwd: this.state.passwd, lastname: this.state.lastname, firstname: this.state.firstname}
const config = { headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
axios.post('http://104.XX.YY.192:8081/register', data, config)
.then(response => {this.props.history.push('/SignIn');})
.catch(err => {console.log(err);})
} else if (this.state.email !== this.state.email02 ) {
console.log('email are not the same');
} else if (this.state.passwd !== this.state.passwd02) {
console.log('password are not the same');
}
}
我期待您的回音。
答案
请求的响应状态是什么?无法发表评论。
另一答案
由于您没有提供正确的错误日志,所以无法得到确切的问题。因此向您提供我的工作代码之一。这可能会有所帮助。此代码段将使用url然后发布数据。在这里您可能会遇到CORS问题。如果是,则在package.json中写-
以上是关于请求适用于Postman,但不适用于axios.post的主要内容,如果未能解决你的问题,请参考以下文章
POST 请求适用于 Postman,但不适用于 axios 或 .fetch()
POST 请求适用于 Postman,但不适用于 axios.post()
Axios 发布请求适用于 Postman,但不适用于浏览器(它返回“错误 401-未授权”)
HTTP POST 请求适用于 Postman,但不适用于我的 Web 应用程序的 JavaScript 提取 [关闭]