[Postman正常工作时,调用Post Api时出现网络错误

问题描述 投票:0回答:3

我正在从项目中调用其他api没问题,亚马逊上还有第三方运行的另一个api,每当尝试调用它时,都会出现网络错误。

[我还尝试使用不同的请求标头设置,不同的长度(从postman获取)来调用api,也删除了Content-Length,但是它们都不起作用。

当我从邮递员那里打电话时,它没有问题,但是我不能从我的React.js PWA项目中调用它。

任何建议将不胜感激。

  const requestOptions = {
        method: "POST",
        headers: {
            "Content-Type": "application/json",
            "Content-Length": "291",
            Accept: "*/*"
        },

        body = {
           sourceCode: "123",
           targetCode: "567",   
           load: {
             Endpoint: "TRANSACTION",
             cmdType: "GetValue",
             ReqData: {
                Tag: "ABCD"
             }
           }
        }
     };

     fetch(
            "https://dev.ecr.amobilepayment.com:3000/api/command/queue",
            requestOptions
          )
          .then(async (response) => {   
                console.log("SUCCESS");
                const data = await response.json();     
                if (!response.ok) {         
                    const error = (data && data.message) || response.status;
                    return Promise.reject(error);
                }
            })
            .catch((error) => {
                console.error("ERROR", error);
            });
     console.log("AFTER");

奇怪的是,控制台仅显示“ AFTER”,而没有显示“ SUCCESS”和“ ERROR”日志。我也尝试过,也可以使用catch,但是catch不会出现异常。

javascript reactjs api post
3个回答
0
投票

我认为您应该使用

throw error;

代替

return Promise.reject(error);

0
投票

问题是第三方没有激活“ CORS”和预检,以便在AWS中接受跨源调用。


-1
投票

[尝试使用库https://www.npmjs.com/package/axios,所以您可以简化代码,我会很注意您的回答,问候。

© www.soinside.com 2019 - 2024. All rights reserved.