gpt4 book ai didi

ajax - Chrome 在重定向时取消 CORS XHR

转载 作者:行者123 更新时间:2023-12-04 04:42:48 25 4
gpt4 key购买 nike

我有一个神秘的问题,即 Chrome 在遇到 HTTP 重定向时取消跨源 AJAX 请求。在“网络”选项卡中,它显示为“(已取消)”并且响应 header 或正文不可用。

这是流程:

  • 在 http://
  • 上加载页面
  • POST 请求到 https://
  • 上的登录端点
  • 303 回复
  • 请求已取消。

  • 这是 JS(来自 ajaxtest.html):
    var r = new XMLHttpRequest();
    r.open('POST', 'https://dev.example.com/appName-rest/login', true);
    r.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
    r.send(JSON.stringify({"username":"myusername","password":"myrealpassword"}));
    r.send();

    Chrome 的网络内部结构显示服务器响应这些 header :
    HTTP/1.1 303 See Other
    Date: Thu, 05 Sep 2013 17:54:21 GMT
    Server: Apache/2
    Access-Control-Allow-Origin: http://dev.example.com
    Access-Control-Allow-Credentials: true
    Location: https://dev.example.com/appName-rest/j_spring_cas_security_check?ticket=xxxx.example.com
    Vary: Accept-Encoding,User-Agent
    Content-Encoding: gzip
    Content-Length: 52
    Connection: close
    Content-Type: text/plain; charset=UTF-8

    它说: URL_REQUEST_BLOCKED_ON_DELEGATE

    有谁知道为什么这会失败?

    最佳答案

    看来您正在尝试做 Cross-Origin Request with Preflight ,因为您设置了 'Content-Type': 'application/json'。带有重定向的预检请求被 CORS specs 拒绝.

    关于ajax - Chrome 在重定向时取消 CORS XHR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18643260/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com