当前位置: 首页 > 面试题库 >

在获取帖子调用后重定向

壤驷茂实
2023-03-14
问题内容

我正在使用访问管理(AM)服务器创建社交登录页面。当用户单击登录按钮时,我将对AM服务器进行一次http调用。AM服务器生成带有身份验证cookie的HTTP
301重定向响应到社交登录页面。我需要以某种方式遵循此重定向响应,并在Web浏览器中显示新内容。

用户界面:ReactJS

请求:

POST /api/auth/socialauth/initiate HTTP/1.1
Host    example.com
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0)
Accept  */*
Accept-Language en-US,en;q=0.5
Accept-Encoding gzip, deflate
origin  http://web.example.com:8080
Referer http://web.example.com:8080/myapp/login
Cookie  authId=...; NTID=...

响应

HTTP/1.1 307 Temporary Redirect
https://www.facebook.com/dialog/oauth?client_id=...&scope=public_profile%2Cemail&redirect_uri=http%3A%2F%2Fam.example.com%3A8083%2Fopenam%2Foauth2c%2FOAuthProxy.jsp&response_type=code&state=qtrwtidnwdpbft4ctj2e9mv3mjkifqo

反应代码:

initiateSocialLogin() {
    var url = "/api/auth/socialauth/initiate";

    fetch(url, { method: 'POST' })
        .then(response => {
            // HTTP 301 response
            // HOW CAN I FOLLOW THE HTTP REDIRECT RESPONSE?
        })
        .catch(function(err) {
            console.info(err + " url: " + url);
        });
}

如何跟踪重定向响应并在Web浏览器中显示新内容?


问题答案:

Request.redirect可能是"follow""error""manual"

如果为“ follow”,则fetch()API遵循重定向响应(HTTP状态码= 301,302,303,307,308)。

如果为“错误”,则fetch()API会将重定向响应视为错误。

如果它是“ manual”,则fetch()API不会遵循重定向,并返回一个不透明重定向过滤的响应,该响应包装了重定向响应。

由于您要在提取后重定向,因此只需将其用作

fetch(url, { method: 'POST', redirect: 'follow'})
    .then(response => {
        // HTTP 301 response
    })
    .catch(function(err) {
        console.info(err + " url: " + url);
    });


 类似资料:
  • 问题内容: 我正在编写一个小脚本来捕获链接点击,并将链接的URL保存到数据库表中,以便跟踪在特定页面上每个链接被点击了多少次。链接是指向外部站点的。 因此,我在JavaScript函数中捕获了click事件,使用jQuery发布到将数据保存在MySQL中的PHP页面,然后JavaScript函数将用户重定向到他们单击的链接的URL。 我遇到的问题是,由于重定向的原因,该帖子似乎从未完成。我已经通过

  • 我需要加载实体以及表示特定用户(当前登录用户)投票的实体。这是两个实体: 所有关联都是单向的。我不使用OneToMany的原因是集合太大,需要在访问之前进行适当的分页:不向我的实体中添加与任何实体的关联意味着防止任何人天真地执行类似于for(PostVote pv:post.getPostVoices())的操作。 对于我现在面临的问题,我有各种各样的解决方案:在我看来,没有一个是完全令人信服的。

  • 我必须从自定义帖子类型返回所有帖子,由'start_date'从'ACF字段'。 我有一些有日期的帖子,还有一些没有日期的帖子。当我添加“orderby”时= 这是我的代码: 如果我删掉 我所有的帖子都被退回,但它们不是按开始日期排序的 有什么想法吗? 谢谢。

  • 我找了很多,但没有找到任何答案,所以我希望你能帮助我! 我有三个表:post、users和post\U users。Post_users包含两列:user_id和Post_id。 我需要得到一个有口才的用户的所有帖子。有什么想法吗? 非常感谢你! (如果这个问题已经存在,我很抱歉,但我还没有找到它)

  • 问题内容: 在Django views.py文件中处理POST请求时,有时需要将其重定向到另一个URL。我重定向到的网址是由同一Django views.py文件中的另一个函数处理的。有办法做到这一点并维护原始POST数据吗? 更新:我为什么要这样做的更多解释。我有两个Web应用程序(我们称它们为AppA和AppB),它们接受用户在文本字段中输入的数据。当用户单击提交时,将处理数据并显示详细结果。

  • 我正在尝试检索与一个帖子相关联的所有图像。我能够返回ID并打印该ID,但当我尝试将其与get_posts()的参数一起添加时,它返回一个空数组。如果我不包含post_parent,它会给我媒体库中的所有图像,而不是我正在循环的文章的所有图像。我是不是在正确的水平上循环? 我尝试手动添加ID,但它仍然返回一个空数组。 我在等这篇文章的附件清单。我想从附件中获取一个图像并将其打印到页面。但我总是得到空