[jquery] How to pass multiple parameters in json format to a web service using jquery?

I'm trying to execute a asp.net webservice using jquery. When I pass only one input parameter it works fine:

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

but if I try to pass multiple parameters it fails

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

Of course, when I try to pass 2 input parameters, I modify the web method so that it takes 2 input parameters.

Any ideas?

This question is related to jquery json

The answer is


Found the solution:

It should be:

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

and not

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

i have same issue and resolved by

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

I think the best way is:

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

To read this values Ids[0], Ids[1].


This is a stab in the dark, but maybe do you need to wrap your JSON arguments; like say something like this:

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

Make sure your JSON is properly formed?


This is a stab in the dark, but maybe do you need to wrap your JSON arguments; like say something like this:

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

Make sure your JSON is properly formed?