当前位置: 首页 > 知识库问答 >
问题:

通过JavaScript的POST方法不从API检索数据,而是在Postman中检索数据

濮阳鸿祯
2023-03-14

我正在尝试使用JavaScript从API获取数据,这个API在Postman中工作,但在JavaScript中不工作。

此代码在控制台中显示为未能获取响应数据且未定义:

<!DOCTYPE html>
<html>
<head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
</head>
<body>
    <h2> only fetch APi</h2>

    <script>
    fetch('https://smweb.in/hungaroo/app/api/plan_list', {
        method: 'POST',
        mode: 'no-cors',
        redirect: 'follow',
        headers: {
            "Accept": "application/json",
            "Access-Control-Allow-Origin": "*",
            "Content-Type": "application/json"
        }
    })
    .then(function (response) {
        return response.text();
    })
    .then(function(data) {
        console.log(data);
    })
    </script>
</body>
</html>

共有1个答案

广绪
2023-03-14

这段代码似乎产生了一个不透明的响应(使用请求模式:“no cors”)。不透明的响应没有主体,因此在尝试记录响应时将一无所获。Access Control Allow Origin是一个响应头,因此它应该在源(服务器)发送的响应对象中设置,而不是在请求中设置。否则,您将无法从服务器获得有意义的响应。将mode:“no-cors”添加到您的请求中是一种从响应头中未设置访问控制允许原点的endpoint获取不透明响应的黑客方法。进一步解释如下:

尝试在模式中使用获取和传递:无cors

如何处理从不透明类型提取响应?

那邮递员为什么工作?我发现这篇文章很有用:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

虽然Fetch API遵循主域同源策略,但Postman不遵循。

 类似资料:
  • 我有一个渲染器,它可以更改JTable单元格的值。 在表的数据模型中,第1行第2列中的数据在JTable GUI中是“-” ,第1行第2列中的数据是“error” 这段代码打印数据模型中的值:“-”。 有什么简单的方法来检索值“error”吗?

  • 问题内容: 我一直在尝试从我的php文件中检索JSON数据,这给了我很麻烦。这是我的代码 我的视图中的代码: 尝试在我的控制器中检索: 什么都不输出。 这是我的标题: 我在开发人员工具中可以看到的回应: 但是在浏览器中,输出为空。我试图解决这个问题超过4个小时,但徒劳无功。 我的查看代码: 控制器代码: 问题答案: 我在CI中用于Ajax调用的一般方法: JS: 控制器:

  • https://en.wikipedia.org/w/api.php?action=query 摘录是一个空字符串

  • 我正在使用SharePreduce进行用户界面设置。 当我想获取的值时,无论它是真是假,都可以播放声音。 但是,当我点击时,即使我将的值更改为false,我总是播放歌曲,你能帮我弄清楚它出了什么问题吗? 正常情况下,我的< code>boolean playSound应该为true或false, 当我单击按钮时,如果playSound为true,则我播放歌曲,否则我不播放它,但似乎永远不会更改此值

  • SELECT 语句 是最常用的SQL语句了,用来索引一个或者多个表信息。 关键字(keyword) 作为SQL组成部分的字段,关键字不能作为表或者列的名字。 使用SELECT索引数据,必须至少给出两条信息,想要什么? 从什么地方获取? 检查单个列 SELECT prod_name FROM Products; 解释:使用SELECT 语句从 Products 表中检索一个名为prod_name

  • SELECT语句用于从表中检索数据,通常格式如下: SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to_select 表示你想看到的数据,可以是具体列,也可以是*(代表所有列)。 which_table 表示你要从哪个表中检索数据。 WHERE 是可选的,如果有的话,conditions_to_s