X-HTTP-метод-переопределение в jQuery? - PullRequest
16 голосов
/ 28 ноября 2009

Как я могу сделать X-HTTP-Method-Override для запроса ajax в jQuery?

Ответы [ 2 ]

26 голосов
/ 14 марта 2011

С 1,5 теперь вы можете передать в опции заголовков:

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

Это устанавливается перед вызовом beforeSend, поэтому оно все равно может быть перезаписано. Смотри http://api.jquery.com/jQuery.ajax/

- исправлен неправильный синтаксис (не позволял бы мне сохранять менее 6 символов, поэтому пишу это сообщение

26 голосов
/ 28 ноября 2009

Вы можете установить пользовательские заголовки при выполнении ajax-запроса, используя обратный вызов beforeSend :

$.ajax({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('X-HTTP-Method-Override', 'PUT');
    },
    type: 'POST',
    url: '/someurl',
    success: function(data){
        // do something...
    }
});
...