Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript axios response.data始终为空,但Postman可以工作_Javascript_Get_Request_Cors_Axios - Fatal编程技术网

Javascript axios response.data始终为空,但Postman可以工作

Javascript axios response.data始终为空,但Postman可以工作,javascript,get,request,cors,axios,Javascript,Get,Request,Cors,Axios,我正在尝试创建一个扩展,打开一个bitly URL并获取标题: http://bit[dot]ly/30YbIyD 邮递员遵循重定向并为我获取结果文档 当我尝试使用Axios时,我得到的响应数据是空的,尽管重定向似乎发生了 第一个请求接收指向“stackoverflow.com”的301。在该请求中,我们获得“200成功”,但数据部分为空 axios({ “url”:”http://bit[dot]ly/30YbIyD', 方法:“get”, maxRedirects:5, 标题:{ “内容类

我正在尝试创建一个扩展,打开一个bitly URL并获取标题:

http://bit[dot]ly/30YbIyD
邮递员遵循重定向并为我获取结果文档

当我尝试使用Axios时,我得到的响应数据是空的,尽管重定向似乎发生了

第一个请求接收指向“stackoverflow.com”的301。在该请求中,我们获得“200成功”,但数据部分为空

axios({
“url”:”http://bit[dot]ly/30YbIyD',
方法:“get”,
maxRedirects:5,
标题:{
“内容类型”:“文本/html”,
“访问控制允许来源”:“*”,
“访问控制允许方法”:“获取”,
},
事实上,
})
。然后((res)=>{
console.log(“响应”,res)
})
.catch((错误)=>{
log(“获取错误:”,err)
});

没有错误消息,但我希望看到与邮递员返回相同的结果;最后文件

我在浏览器控制台中还收到以下警告:

Cross-Origin Read Blocking(CORB)使用MIME类型text/html阻止了跨源响应。有关更多详细信息,请参阅。

与位于的跨站点资源关联的cookie设置时没有
SameSite
属性。如果Chrome的未来版本设置为
SameSite=None
Secure
,则只能提供带有跨站点请求的cookie。您可以在应用程序>存储>cookies下查看开发人员工具中的cookies,并在和中查看更多详细信息


以下是邮递员发送的邮件头:

使用以下步骤:
1.使用Axios调用服务器。
2.从响应标题中查找位置。 ()
3.调用位置中存在的URL以获取实际内容

***Browser和Postman正在执行多个请求以获取内容。我已经在Java应用程序中使用了上述步骤。以下代码仅供参考

if ( HttpStatus.SC_MOVED_TEMPORARILY  == statusCode ) {
            location = method.getResponseHeader("Location").getValue();
            if (sLog.isDebugEnabled()) {
                sLog.debug("location: " + location);
            }                                                                  
}

我们可以检查邮递员发送的邮件头或所有请求数据吗?@LearningDaily当然可以,给你:我可以想到一些事情。您可以尝试一下POSTMAN发送的邮件头吗?如果您不使用axios并使用简单的获取方法,该怎么办?或者当您使用axios以外的任何东西时会发生什么?只是一个想法!我认为你看到这种行为的原因只是来自
301的响应http://bit.ly[dot]30YbIyD
不包括访问控制允许源标题。因此,浏览器实际上并不遵循重定向到
https://stackoverflow.com/
。这就是为什么Chrome开发工具没有显示
https://stackoverflow.com/
response-因为浏览器实际上从未向
https://stackoverflow.com/
。在Firefox或Safari中尝试相同的代码,并查看那里的网络窗格,我认为您会更清楚地了解实际发生的情况。尝试进一步排除故障,尝试在axios调用中添加
模式:“无cors”
,或者只需尝试
获取('https://bit.ly[dot]30YbIyD',{mode:'no cors'})
。在这种情况下,Chrome devtools中的网络窗格将显示来自
https://stackoverflow.com/
。这是因为在这种情况下,浏览器实际上将遵循301重定向。(您将无法从前端JavaScript代码访问响应,但浏览器仍将接收到响应。)