【问题标题】:JQuery POST request transforming into OPTIONS. Why?JQuery POST 请求转换为 OPTIONS。为什么?
【发布时间】:2011-06-07 01:36:34
【问题描述】:

我明确指定了一个 POST,但我没有在请求中看到发布数据,并且更多地指定它有一个 OPTIONS。

响应应该是一个 HTML,以表格格式指定匹配用户到 Query。 我正在尝试发布并阅读 html 以创建一个自动完成输入框。

这是 Jquery 代码:

$.post('https://internal.company.com/data/displayUserList',
    { Email: "", Name: "%GEORGE%"}, 
    function(responseText, textStatus) {
        console.log("Response:\n" + responseText + textStatus)
    }
);

FireBug1.6.1 (Firefox) 捕获的请求

OPTIONS /data/displayUserList HTTP/1.1
Host: internal.company.com
User-Agent: Mozilla/5.0 Firefox/3.6.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: null
Access-Control-Request-Method: POST

【问题讨论】:

标签: jquery ajax post response options


【解决方案1】:

如果您违反same origin policy 限制,可能会发生这种情况。 Access-Control-Request-Method 请求标头让我认为是这种情况。我看到您在发布请求中指定了完整地址 https://internal.company.com/data/displayUserList。确保托管此脚本的页面也来自https://internal.company.com。最好使用相对地址:

$.post('/data/displayUserList', { Email: "", Name: "%GEORGE%" }, 
    function(responseText, textStatus) {
        console.log("Response:\n" + responseText + textStatus);
    }
);

【讨论】:

  • 是的。我正在尝试在另一个网页中发布 URL,但顶级域是相同的“company.com”,我会检查“document.domain”是否相同。我还注意到,当从浏览器触发“internal.company.com/data/displayUserList”时,发送的 cookie 信息很少。有没有办法可以捕获它们并将其与此请求一起发送?
  • 协议一样吗?请注意,HTTP 与 HTTPS 违反了相同的来源策略。就 cookie 而言,如果这些 cookie 设置了与顶级域相同的域属性,它们将随 AJAX 请求自动发送,以便它们可以在这些域之间共享。
  • 是的,协议是 HTTPS。我注意到除了 OPTIONS 问题之外没有提取 cookie。我应该更改通话中的任何内容吗?
  • @hashg,域必须匹配:https://internal.company.comhttps://company.com 不相同,违反了政策。请查看我在答案中链接到的维基百科文章,并确保域和子域完全匹配。否则你的 AJAX 调用将永远失败。
【解决方案2】:

如果您尝试调用另一个域中的不同服务器,那么克服此问题的策略应该驻留在后端,以使服务器允许来自不同前端域的调用,在这种情况下,您不应该破坏您的head 试图在前端进行调整。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-30
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    相关资源
    最近更新 更多