我想用这些标题(或类似的东西)发送类似ajax的请求:
GET example.com/ajaxapi/article/1 HTTP/1.1
Host: localhost
Accept: application/hal+json
Cache-Control: no-cache
重点是在标题中没有 X-Requested-With:XMLHttpRequest 的情况下这样做。
$ .ajax(),$。get(),...都为此添加默认的xhr标题。
答案 0 :(得分:0)
您可以使用beforeSend函数修改标题,该函数是ajax方法的设置对象的属性。
从documentation开始,对beforeSend的描述:
一个预请求回调函数,可用于在发送之前修改jqXHR(在jQuery 1.4.x,XMLHTTPRequest)对象中。 使用此选项设置自定义标题等.jqXHR和设置对象作为参数传递。这是一个Ajax事件。在beforeSend函数中返回false将取消请求。从jQuery 1.5开始,无论请求的类型如何,都将调用beforeSend选项。
示例:
$.ajax('/yoururl', {
beforeSend: function(jqXHR, settings) {
// stuff goes here
}
});
答案 1 :(得分:-1)
回答我自己的问题,如果它可以帮助其他人。
$.ajax({
url: url,
crossDomain: true
});
crossDomain选项完成了这一操作并删除了XMLHttpRequest标头。