邮差和Chrome不同的API响应

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

我一直在邮递员那里做一个完全相同的API请求,一个来自位于localhost的react应用程序,所以在我的机器上,但当我评估响应时,我得到两者之间不同的结果。

该请求包含odata命令,如下所示:

Articles?$expand=Category&$select=Category

授权是通过我已经检查过的承载令牌,并且在两个请求中都是正确的,并且标题和URL也完全相同。

唯一不同的是响应,其中chrome缺少数组中的一些条目,该数组应该包含这些作为Javascript对象的Category字段。

响应主体看起来像这样:

{
    "@odata.context": ... , value: [
        {
            Category: ...
        }
    ]
}

缺少的是邮递员中的一些类别对象,所以邮递员基本上按照预期工作。

此外,由于某种原因,请求在网络选项卡中出现两次作为选项,一次作为GET,我不知道为什么。有人知道在这种情况下罪魁祸首是什么?

javascript reactjs api odata postman
1个回答
1
投票

邮差和浏览器是不同的东西。显然,您要查询的服务是区分请求,并根据请求的来源返回略有不同的结果。请求的详细信息(标题等)可能略有不同。

此外,由于某种原因,请求在网络选项卡中出现两次作为选项,一次作为GET,我不知道为什么。有人知道在这种情况下罪魁祸首是什么?

那是因为您从Web浏览器发出请求,因此同源策略生效。浏览器通过OPTIONS向服务器发送“预检”请求,显然返回适当的CORS头以允许主请求,然后发送主GET请求。看到:

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