我需要获取 API 以从响应中获取与 POSTMAN 中的结果相同但失败的原始值?

Posted

技术标签:

【中文标题】我需要获取 API 以从响应中获取与 POSTMAN 中的结果相同但失败的原始值?【英文标题】:I need to fetch API to get a raw value from response same as the result in POSTMAN but fail? 【发布时间】:2020-04-30 07:33:27 【问题描述】:

我是新来的。只是遇到了一些从前端(反应)获取数据到 JSON 中的原始值的问题。对于登录部分,当我输入电子邮件和密码时,据说响应与 POSTMAN 中的结果相同,但我得到了错误。我花了将近一个星期才弄清楚这个问题。对于那些帮助我解决这个问题的人,我将不胜感激。我将在下面进一步详细说明我的情况:

这是来自邮递员的 API 响应(我应该得到这个响应):

我在浏览器中得到的结果:

源代码:

constructor (props)
  super(props);
  this.state =
    loginEmail: '',
    loginPassword: ''
  
  this.login = this.login.bind(this);
  this.onChange = this.onChange.bind(this);


login()
  PostData('api/users/login', this.state).then ((result) => 
    let responseJSON = result;
    console.log(responseJSON);
  );

邮政数据:

export function PostData(type, userData = )

    let BaseUrl = "https://ems-unimas-58134.herokuapp.com/"

    return new Promise((resolve, reject) => 

        fetch(BaseUrl+type,
            method: "POST",
            body: JSON.stringify(userData),
            Accept: 'application/json',
            // headers:
            //   'Content-Type': 'application/json'
            // 
          ).then(res => res.json())
        .then((responseJson) => 
            resolve(responseJson);
        )
        .catch((error)=>
            console.error('Error:', error);
        )

    );


如果你们中的任何人需要更多代码,请在此处点赞。

【问题讨论】:

取消注释 headers 属性。您可以通过单击“标题”选项卡来查看邮递员正在使用哪些标题 嗨,@AngelSalazar 感谢您在这里发表评论。但是,如果我取消注释标题,则会出现此错误“访问从源 'localhost:3000' 获取'ems-unimas-58134.herokuapp.com/api/users/login' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:否'访问-Control-Allow-Origin' 标头存在于请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为 'no-cors' 以获取禁用 CORS 的资源。" 在邮递员中,您可以将脚本复制为 fetch can you see this @kokoka 那么问题出在您的服务器上,您必须将 localhost 列入白名单 【参考方案1】:

问题是您需要允许 CORS。 你可以在here阅读更多关于CORS的信息

【讨论】:

以上是关于我需要获取 API 以从响应中获取与 POSTMAN 中的结果相同但失败的原始值?的主要内容,如果未能解决你的问题,请参考以下文章

显示在单击获取模式按钮后在 axios 响应中收到的引导模式

如何从 .map 循环返回以从 API 获取数据 [重复]

使用记录范围时,Google 保留 API 以无效范围响应

在亚马逊附属产品 API 中出现问题以从亚马逊获取产品

是否有一个带有/ORM(Laravel、Cake、Codeigniter)的 PHP 框架,我们可以在其中覆盖数据交互以从 rest api 中获取数据?

无法正确设置下一个配置故事书以从 url 获取图像