Как передать несколько параметров в json-формате веб-службе с помощью jquery?

Я пытаюсь выполнить веб-сервис asp.net с помощью jquery. Когда я передаю только один входной параметр, он отлично работает:

$.ajax({  
    type: "POST",  
    url: url,  
    data: "{'Id1':'2'}",  
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: callback
});  

но если я попытаюсь передать несколько параметров, это не сработает

$.ajax({  
    type: "POST",  
    url: url,  
    data: "{'Id1':'2'},{'Id2':'2'}",  
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: callback
});    

Конечно, когда я пытаюсь передать 2 входных параметра, я изменяю веб-метод так, чтобы он принимал 2 входных параметра.

Любые идеи?

Ответы

Ответ 1

Найдено решение:

Это должно быть:

"{'Id1':'2','Id2':'2'}"

а не

"{'Id1':'2'},{'Id2':'2'}"

Ответ 2

Это удар в темноте, но, возможно, вам нужно обернуть аргументы JSON; например, сказать что-то вроде этого:

data: "{'Ids':[{'Id1':'2'},{'Id2':'2'}]}"

Убедитесь, что ваш JSON правильно сформирован?

Ответ 3

У меня такая же проблема и разрешена

 data: "Id1=" + id1 + "&Id2=" + id2

Ответ 4

Я думаю, что лучший способ:

data: "{'Ids':['2','2']}"

Чтобы прочитать эти значения Ids [0], Ids [1].