Принудительное использование jQuery.load () для POST при использовании jQuery.param () - PullRequest
1 голос
/ 04 марта 2011

Хорошо, поэтому .load() использует ...

Метод POST используется, если данные предоставляется как объект; в противном случае, получить предполагается.

У меня есть следующее ...

// an array of itemIds
var items = $selected.map(function() {
   return $(this).find('.item').text();
}).get();

// post the data
$container.load(
    _url,
    $.param(data, true),
    function(response, status, xhr) {
        //...
    }
);

Проблема, с которой я столкнулся, заключается в том, что если я использую $.param для сериализации данных, кажется, что используется GET.

Если я не использую $.param, то используется POST, но я снова сталкиваюсь с проблемой, когда массив не сериализуется правильно, и я не получаю данные в моем контроллере.

Есть ли простой способ обойти это?

1 Ответ

0 голосов
/ 09 марта 2011

Вы можете использовать jQuery.get() вместо .load():

$.get(_url, $.param(data, true), function(data) {
  $container.html(data);
});

Это будет иметь тот же эффект, что и вызов load с параметрами, но с запросом GET вместо запроса POST.

...