使用$发送查询字符串.ajax类型OPTIONS



我的REST API开发人员告诉我,在访问实际链接之前,首先使用OPTIONS类型进行ajax调用,检查文件是否可供下载。

如果它返回OK,那么我可以继续并将浏览器重定向到该页面并下载文件。

return $.ajax({
  type: 'OPTIONS',
  url: 'http://api/account-data',
  data: {user_id: '5'}
}).done(function(data) {
  // redirect browser to http://api/account-data?user_id=5
});

我遇到的问题是,当我使用OPTIONS时,我不能附加任何查询字符串。此外,我从来没有听说过有人使用OPTIONS之前。据我所知,浏览器在执行某些跨域调用时会自动执行此操作。我告诉了他这一点,但我被告知要寻找一个附加查询字符串的解决方案。有办法吗?

而且,我以前从来没有听说过有人使用OPTIONS。

人们通常不太会正确使用HTTP。

也就是说,我希望使用HEAD请求来确定资源是否可用。

据我所知,浏览器在执行某些跨域调用时会自动执行此操作。

CORS规范要求在某些情况下将OPTIONS请求作为预飞行请求,但是OPTIONS早于CORS,并且使用该HTTP动词还有其他原因。

我被告知要寻找一个附加查询字符串的解决方案。有办法吗?

当你发出OPTIONS请求时,jQuery会忽略data。将查询字符串直接放在URL中。

$.ajax({
  type: 'OPTIONS',
  url: 'http://api/account-data?user_id=5'
})

最新更新