jQuery.Ajax делает неправильный запрос с данными массива - PullRequest
3 голосов
/ 23 апреля 2010

У меня есть следующий массив:

var idParam = ["1","2","3"];

Я хочу отправить эти данные как запрос, используя jQuery.ajax, что я делаю:

        $.ajax({
        type: "GET",
        url: "Services/GetInfo.ashx",
        data: { "id": idParam },
        contentType: "application/text",
        dataType: "json",
        success: function(result)
        {
...
        },
        error: function(XMLHttpRequest, textStatus, errorThrown)
        {
            ...
        }
});

Но в результате яиметь следующую уродливую строку: ?id[]=1&id[]=2&id[]=4 (на самом деле это гораздо уродливее: id%5B%5D=1&id%5B%5D=2&id%5B%5D=4).

Что нужно сделать, чтобы получить нормальную строку вроде: id=1&id=2&id=4 ??Спасибо

1 Ответ

7 голосов
/ 23 апреля 2010

Я предполагаю, что это с jQuery 1.4 - Вам нужно использовать параметр traditional: true для $.ajax()

Или вы можете установить его глобально: ( из$.param() docs )

Начиная с jQuery 1.4, метод $.param() рекурсивно сериализует глубокие объекты для поддержки современных языков сценариев и сред, таких как PHP и Ruby on Rails.Вы можете отключить эту функцию глобально, установив jQuery.ajaxSettings.traditional = true;.

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