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

302重定向后的AJAX调用将原点设置为null

长孙谦
2023-03-14

我正在执行从域 A 到域 B 的 AJAX 调用。

我的域 B 检查 A 是否在允许的域列表中,并将访问控制允许源设置为域 A。目前为止,一切都好。

域 B 通过使用位置标头向域 C 发送 302 重定向来响应请求。

AJAX 调用遵循重定向到域 C,但具有标头:来源:空

我希望在重定向后将标头设置为域 A。

有人能解释一下为什么原点设置为<code>null</code>而不是域A吗?

示例

>

  • 从域 A 到 B 的请求

    GET / HTTP/1.1
    Host: domain-B.com
    Origin: http://domain-A.com
    

    来自域B的响应:

    Access-Control-Allow-Origin: http://domain-A.com
    Location: http://domain-C.com
    

    AJAX 调用遵循重定向到域 C:

    GET  HTTP/ 1.1
    Host: domain-C.com
    Origin: null
    
  • 共有2个答案

    糜俊彦
    2023-03-14

    我在域 A 上设置了访问控制允许来源:null 并且有效。

    华星剑
    2023-03-14

    看这里,这似乎表明它与一个“隐私敏感”的环境有关。

    是否有浏览器将隐私敏感上下文的源标头设置为“null”?

     类似资料:
    • 问题内容: 我正在从域A到域B进行AJAX呼叫。 我的域B检查A是否在允许的域列表中,并将设置为域A。到目前为止,一切都很好。 域B通过使用标头向域C发送302重定向来响应请求。 AJAX调用遵循重定向到域C的操作,但具有标头: 。 在重定向之后,我希望将标头设置为域A。 谁能向我解释为什么将源设置为域A而不是域A? 例 从域A到B的请求 来自网域B的回应: AJAX调用将重定向到域C: 问题答案

    • 问题内容: 我有一个使用Forms Authentication以asp.netmvc编写的后端服务器。当用户未通过身份验证时,服务器将自动发送302重定向到“登录”操作并返回“登录”页面。 在客户端,我有一个项目列表。只有经过身份验证的用户才能访问此列表。在页面上,我有一个使用Ajax(jQuery的$ .ajax函数)刷新列表的按钮。 现在,我的问题是身份验证票证超时并且用户单击“刷新”按钮时

    • 问题内容: 我正在执行以下ajax调用: 这是我的PHP: 创建销售后,我想重定向到addcust.php?New_sale = $ sale_id 我该怎么做? 问题答案: 您成功重定向: 无论您从PHP脚本回显什么,都将在中。因此,echo ,您将获得您的URL。

    • 我正在尝试使用SpringREST模板进行post请求以登录。 我的ResponseEntity状态是302,我想按照此请求获取正文响应,因为我没有获取此请求的正文。 我能做些什么来解决这个问题?!

    • 问题内容: 这是我的ajax电话: 在我的控制器中,最后有一个重定向指令: 它不会重定向。取而代之的是,它停留在与开始时相同的加载页面上。 问题答案: 如果AJAX调用返回重定向,浏览器将不会重定向。如果您想在AJAX调用后将用户发送到新页面,则需要使用Javascript进行操作。例: 确保浏览器呈现AJAX响应。使用grails 标签,您应该指定一个元素以使用该属性进行更新。

    • 问题内容: 我是这里的ajax的新手,我知道有人已经遇到了这个问题。我有一个基于Spring MVC构建的旧版应用程序,它有一个拦截器(过滤器),可以在没有会话时将用户重定向到登录页面。 对于非xmlhttp请求,这可以正常工作..但是,当我尝试在应用程序中使用ajax时,一切都变得很奇怪,它无法正确重定向到登录页面。作为检查的值 xhr.status = 200 textStatus = par