【问题标题】:post request never returning fetch api js发布请求从不返回 fetch api js
【发布时间】:2018-01-15 17:27:26
【问题描述】:

大家好,我正在尝试使用 js fetch api 发出发布请求,但问题没有返回。它永远不会在 then 函数中进入回调。谁能告诉我这是怎么回事

fetch('http://ready.buzlin.com/buzlinApp/checkout/checkout.php', {
              method: 'POST',
              headers: {
                  'Content-Type': 'application/json',

              },
              body: s
          }).then((response) => {
              console.log("ok");
          });

如果我使用邮递员拨打同样的电话,它可以工作

【问题讨论】:

  • catch 中的任何错误?
  • 如果您查看网络检查器,它是否显示请求已完成?
  • API 是否允许 CORS?
  • @Ezekiel 你能解释一下你分享的内容吗
  • @Gardezi postman 不检查 cors,chrome 会检查控制台是否有错误

标签: javascript ecmascript-6 async-await es6-promise


【解决方案1】:

这是一个CORS 问题,是浏览器采用的一种安全措施(这解释了为什么可以通过 Postman 来解决)。

基本上,您的浏览器会向服务器发送一个预检请求以了解它所期望的内容,并且服务器不会将您的来源作为可接受的来源返回(Access-Control-Allow-Origin 标头)。

此 API 可能不支持 CORS。这意味着您的请求只有在服务器端发出时才有效,安全浏览器不会允许它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2017-10-07
    相关资源
    最近更新 更多