Как передать несколько параметров в формате json веб-сервису с помощью jquery? - PullRequest
13 голосов
/ 02 февраля 2009

Я пытаюсь запустить веб-сервис 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 входных параметра.

Есть идеи?

Ответы [ 4 ]

34 голосов
/ 02 февраля 2009

Нашли решение:

Должно быть:

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

а не

"{'Id1':'2'},{'Id2':'2'}"
5 голосов
/ 02 февраля 2009

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

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

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

3 голосов
/ 12 ноября 2012

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

 data: "Id1=" + id1 + "&Id2=" + id2
2 голосов
/ 11 июня 2010

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

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

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

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