2012-03-14 3 views
0
var states = new Array();   
    states[0] = { Id: 1, Name: "Maharashtra" }; 
    states[1] = { Id: 2, Name: "Punjab" }; 

    var Id = new Array(); 
    Id[0] = 0; 
    Id[1] = 1; 




    $.ajax({ 
     type: "POST", 
     url: "WebService.asmx/MultiDim", 
     data: "{'states':" + JSON.stringify(states) +",'rowId':" + JSON.stringify(Id) + "}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      // Do something interesting here. 
     } 
    });  


[WebMethod] 
     public void MultiDim(statesTemplate[] states, Id rowId) 
     { 

     } 

Я не получаю rowId второй параметр в моей функции webservice.Как использовать несколько параметров в jQuery ajax?

ответ

0

Try:

data : { states : states, rowId : Id }, 

Вы можете передать функции $.ajax() на data имущество, которое является объектом, JQuery позаботится об остальном.

данные

данные для отправки на сервер. Он преобразуется в строку запроса, если еще не строка. Он добавлен к URL-адресу для запросов GET. См. параметр processData для предотвращения этой автоматической обработки. Объект должен быть парами ключ/значение. Если значение представляет собой массив, jQuery сериализует несколько значений с одинаковым ключом, основанным на значении традиционной настройки (описано ниже).

Источник: http://api.jquery.com/jquery.ajax/

Просто к сведению, вы можете инициализировать array s буквально:

var states = [ { Id : 1, Name : 'Maharashtra' }, { Id : 2, Name : 'Punjab' } ], 
    Id  = [ 0, 1 ]; 
0

Строка JSON вы создаете недействителен JSON. JSON требует двойного цитирования. Начните свою строку с одинарных кавычек и используйте двойные кавычки для ключей и значений.

Использование jsonlint.com для проверки

Смежные вопросы