Я только что обновил с jQuery 1.3.2 до 1.4.3, и я вижу некоторое новое поведение при выполнении запросов AJAX DELETE. По какой-то причине данные, передаваемые в моем параметре data
, не отправляются на сервер. Например:
$.ajax({
url: '/example',
data: {id: 12},
type: 'DELETE'
});
Заканчивается отправка DELETE запрос на /example
без каких-либо дополнительных данных. Тем не менее, этот тип звонков передает параметры только штрафа:
$.ajax({
url: '/example?id=12',
type: 'DELETE'
});
С кем-нибудь еще было похожее поведение? Есть ли причина, по которой это больше не работает (т. Е. Это по дизайну, или это ошибка)? Любые предложения о том, как заставить его работать?
Кроме того, на случай, если кто-то задается вопросом, почему я не просто хочу передать параметры как часть строки URL, это потому, что я в конечном счете пытаюсь использовать обратный вызов $.ajaxSetup
, предоставляя там некоторые общие параметры (а именно authenticity_token
, используемый для защиты от подделки в Rails). Все это отлично работало до попытки jQuery 1.4.3.
Спасибо, Ник. Любые предложения об обходном пути? Учитывая ваш ответ, я попытался обновить 'settings.url' в обратном вызове' $ .ajaxSend() ', чтобы я добавлял значения строки запроса там для запросов DELETE; однако, похоже, что возвращаемое значение 'settings.url' не записывается для использования в jQuery 1.4.3, как в 1.3.2.Любые другие мысли по поводу этого, кроме того, чтобы вручную добавлять один и тот же параметр к каждому запросу во всем моем коде? –
@Matt - Я думаю, что 1.4.4 скоро выйдет в качестве исправления для исправления ошибок, посмотрите на это совершение час назад, отметив его 1.4.4pre: http://github.com/jquery/jquery/commit/9b97599fa4d615a91d1605d9c664c50f576911ce Я бы сказал затяните несколько дней, возьмите 1.4.4 финала, и все готово. Вот сообщение в блоге: http://blog.jquery.com/2010/10/24/community-updates-2610/ –
К сожалению, крайние сроки заставляют меня иметь дело с этим сейчас. Наверное, я обновляю вызовы inline, и рефакторинг через пару дней, когда это станет доступным. Большое спасибо за ваше понимание, вы всегда невероятно полезны здесь! –