为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我要得到一个选项请求而不是一个GET请求?

为什么我要得到一个选项请求而不是一个GET请求?

MM们 2019-06-11 21:10:02
为什么我要得到一个选项请求而不是一个GET请求?<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script><script> $.get("http://example.com/", function(data) {      alert(data);});</script>它对该URL执行选项请求,然后从不使用任何内容调用回调。当它不是跨域时,它可以正常工作。难道jQuery不应该只使用<script>节点,然后在加载时执行回调?我知道我无法得到结果(因为它是跨域的),但没关系,我只想通过调用。这是个窃听器,还是我做错了什么?
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

根据MDN,

预先公布的请求

与简单的请求(前面讨论过)不同,“预置”请求首先向另一个域上的资源发送HTTP选项请求头,以确定实际请求是否安全发送。跨站点请求是这样预先设定的,因为它们可能会对用户数据产生影响。特别是,如果:

  • 它使用的方法不是GET或POST。此外,如果POST用于发送内容类型以外的请求数据,而不是application/x-www-form-urlencode、多部分/表单-数据或文本/纯文本,例如,如果POST请求使用application/xml或text/xml向服务器发送XML有效负载,则请求是预先处理的。
  • 它在请求中设置自定义标头(例如,请求使用一个标头,如X-PINGOTHER)


查看完整回答
反对 回复 2019-06-11
  • 3 回答
  • 0 关注
  • 587 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信