400 来自 React Axios Graphql SageX3 的错误请求

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

我已经被困一个月了,现在我真的需要帮助。 所以我有了这个react项目,我想从这个URL获取数据:10.1.1.132:8124/xtrem/api(已经在sage X3的连接应用程序中配置了链接),当我用postman测试时我得到结果(使用 graphql 或 http post“raw json”)我用两种方法得到结果,所以现在当我尝试从 React 执行时,我收到 400 个错误请求,我检查了标头、令牌和查询,一切似乎都是和邮递员一样。

任何人都可以帮助我吗?

更新:在nodelocal.js(sageX3)中,我收到了CSRF安全错误,因为我知道我已经为CORS配置了这个错误:

`安全:{ http: { 标题:{ “访问控制允许来源”:“*” },

    "allow": "POST, GET"
},
cors: {

    "access-control-allow-origin": "*",
    "Access-Control-Allow-Methods": "GET, POST, DELETE, PUT",
    "Access-Control-Allow-Headers": "Origin, Content-Type, Accept, Authorization, X-Request-With, soapaction, x-requested-with, x-xtrem-endpoint",
    "Access-Control-Allow-Credentials": "true"
}

},`

reactjs graphql cors csrf sage
1个回答
-1
投票

在 React 项目中尝试使用 Axios 和 GraphQL 从 Sage X3 URL 获取数据时,您似乎遇到了 400 Bad Request 错误。让我们分解一下问题,看看如何解决它。

CSRF 安全错误: 事实上,您在 Sage X3 的 nodelocal.js 文件中收到 CSRF 安全错误,表明您的请求可能存在安全问题。如果配置不正确,CSRF(跨站请求伪造)保护有时会干扰合法请求。

CORS 配置:您提到您已经在 Sage X3 应用程序中配置了 CORS 设置以允许 POST、GET 和适当的标头。但是,CORS 的设置方式可能存在不匹配或问题。

您可以采取一些步骤来排查和解决问题:

验证 CORS 设置:仔细检查 nodelocal.js 中的 CORS 设置,以确保它们与您在 React Axios 请求中使用的标头和方法匹配。确保没有错别字或不一致的地方。

检查请求标头:验证从 React Axios 请求发送的标头是否与 Sage X3 期望的相符。请注意授权、内容类型等标头以及 Sage X3 所需的任何自定义标头(X-Request-With、x-requested-with、x-xtrem-endpoint)。

使用简单请求进行测试:首先尝试使用 Axios(不使用 GraphQL)发出简单的 GET 或 POST 请求,看看是否可以获得成功的响应。这可以帮助确定问题是与 GraphQL 还是与一般请求有关。

检查网络请求:使用浏览器的开发人员工具检查从 React 应用程序发送的网络请求。检查请求标头、有效负载和响应是否有任何异常或错误。

检查 GraphQL 查询:确保您的 GraphQL 查询格式正确并与 Sage X3 服务器上的预期架构匹配。使用 Postman 或 GraphQL Playground 等工具单独测试查询,以确认它可以在 React 应用程序之外运行。

错误处理:在 React 代码中实现强大的错误处理,以捕获并记录 Sage X3 服务器返回的任何错误。这可以更深入地了解导致 400 Bad Request 错误的具体问题。

通过系统地检查这些区域并调试请求和响应,您应该能够识别并解决 React Axios GraphQL 与 Sage X3 集成中的 400 Bad Request 错误。

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