tags:

views:

4979

answers:

3

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?

+1  A: 

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?

Mark W
+3  A: 

Found the solution:

It should be:

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

and not

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

Anthony
A: 

I think the best way is:

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

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

TonBR