Не работает ли метод jQuery ajaxSetup с $ .get или $ .post? - PullRequest
4 голосов
/ 30 марта 2010

Метод jQuery $.ajaxSetup не учитывает поле data в хэше опций при вызове $.post или $.get?

Например, у меня может быть такой код:

$.ajaxSetup({ data: { persist: true } });

Затем, чтобы отправить запрос POST, я бы назвал это:

$.post("/create/something", { name: "foo" });

Я ожидал, что фактические данные POST будут выглядеть так:

{
  persist: true,
  name: "foo"
}

но единственные данные, отправленные $.post, это { name: "foo" }. Есть ли способ получить ожидаемое поведение? Я использую jQuery 1.4.1.

Ответы [ 2 ]

6 голосов
/ 30 марта 2010

$.ajaxSetup() устанавливает значения по умолчанию для ваших запросов AJAX. Любые параметры, заданные вами в методе запроса, будут переопределять эти значения по умолчанию, а не объединять их. Вы на самом деле переопределяете

{ persist: true }

с

{ name: "foo" }

<ч /> Это больше не похоже на случай & mdash; тикет на трекере jQuery предполагает, что это было добавлено в обновлении версии, и теперь jQuery объединяет объекты вместо замены по умолчанию (спасибо @Quincy).

0 голосов
/ 30 марта 2010

Как документация говорит, что опция data преобразуется в строку запроса и добавляется к URL для запросов GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...