ajax post 变options,关于ajax:JQuery POST请求转换为OPTIONS。 为什么?

我明确指定了POST,但在Request中看不到该Post数据,并且超过了它指定了OPTIONS。

响应应为HTML,以表格格式指定要与Query匹配的用户。

我正在尝试发布和阅读html,以创建一个自动完成的输入框。

这是jQuery代码:

$.post('https://internal.company.com/data/displayUserList',

{ Email:"", Name:"%GEORGE%"},

function(responseText, textStatus) {

console.log("Response:

" + 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

关于SE上的jQuery,有许多与此相关的问题。 请参阅"相关",这里讨论了可能的解决方案:stackoverflow.com/questions/2699277/post-data-to-jsonp

如果您违反相同的原始策略限制,则可能会发生这种情况。 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:

" + responseText + textStatus);

}

);

是。我正在尝试在另一个网页中发布URL,但是顶级域名是相同的" company.com",我将检查" document.domain"是否相同。我还注意到从浏览器触发" internal.company.com/data/displayUserList"时发送的Cookie信息很少。有没有办法我可以捕获它们并随此请求发送?

协议是否相同?请注意,HTTP vs HTTPS违反了相同的原始策略。就cookie而言,如果已将cookie设置为具有等于顶级域的domain属性,则它们将沿着AJAX请求自动发送,以便可以在这些域之间共享它们。

是的,协议是HTTPS。我注意到Cookie除了OPTIONS问题外没有被拾起。我应该更改通话中的任何内容吗?

@hashg,域必须匹配:https:internal.company.com和https:company.com不相同,并且违反了该策略。请查看答案中链接到的Wikipedia文章,并确保域和子域完全匹配。否则,您的AJAX调用将始终失败。

如果您尝试在另一个域中调用其他服务器,则解决此问题的策略应放在后端,以使服务器允许来自其他前端域的调用,在这种情况下,您不应该费劲地尝试 在前端进行调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值