postman测试正常,但create-react-app无法调通接口

发布于 2022-09-06 15:58:57 字数 1949 浏览 23 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

对岸观火 2022-09-13 15:58:57

缺少data参数,两遍的数据结构都不一样。
你们的数据应该是这样的

data : {xx:xx,yy:yy}

而不是

{xx:xx,yy:yy}

所以传数据的时候再包一层data看看。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文