16

如何在 jQuery 中为 ajax 请求执行 X-HTTP-Method-Override?

4

2 回答 2

26

您可以在执行 ajax 请求时使用beforeSend回调设置自定义标头:

$.ajax({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('X-HTTP-Method-Override', 'PUT');
    },
    type: 'POST',
    url: '/someurl',
    success: function(data){
        // do something...
    }
});
于 2009-11-28T17:38:38.867 回答
26

使用 1.5,您现在可以传入 headers 选项:

$.ajax({
  headers: {
    'X-HTTP-Method-Override': 'DELETE'
  },
  method: 'GET'
  // more parameters...
});

这是在调用 'beforeSend' 之前设置的,所以它仍然可能被覆盖。见http://api.jquery.com/jQuery.ajax/

-- 修正了不正确的语法(不会让我保存少于 6 个字符的编辑,所以写下这条消息

于 2011-03-14T20:35:53.643 回答