postman测试正常,但create-react-app无法调通接口
postman测试是正常的,可以调通;
如下图所示:
但是在create-react-app创建的项目里面无法运行,下面是代码:
封装的fetch
export default class HttpUtils {
static post(urlPath,data) {
return new Promise ((resolve, reject) => {
fetch (urlPath, {
method: 'POST',
datatype:"json",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
mode : 'no-cors',//不设置会有跨域问题
body: JSON.stringify (data)
})
.then (response => response.json ())
.then (result => {
resolve (result);
})
.catch (error => {
reject (error);
})
})
}
}
APP.JS
写在componentDidMount里面
var urlPath = 'https://XXX';
var data = {"logintype": 0, "loginname": "XXX"}
HttpUtils.post (urlPath, data)
.then ((responseData) => {
var resData = JSON.parse (responseData);
if (resData.responsecode == '000000') {
console.log (111111111111111);
} else {
console.log (resData, data);
}
})
.catch ((error) => {
console.log (error.message);
})
这样的话,控制台会报错:network 里面请求返回的状态码是400.
不知道为什么postman里面可以,我自己用create-react-app不行。package.json里面没有设置“proxy”。我不太懂这些。希望大神能够帮忙看看问题出在哪里,多谢了。(公司后端好像不是太懂这个)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
缺少data参数,两遍的数据结构都不一样。
你们的数据应该是这样的
而不是
所以传数据的时候再包一层data看看。