16

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?

Anthony
  • 7,210
  • 13
  • 60
  • 70

4 Answers4

35

Found the solution:

It should be:

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

and not

"{'Id1':'2'},{'Id2':'2'}"
Geoff
  • 7,935
  • 3
  • 35
  • 43
Anthony
  • 7,210
  • 13
  • 60
  • 70
5

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
  • 2,522
  • 3
  • 18
  • 21
4

i have same issue and resolved by

 data: "Id1=" + id1 + "&Id2=" + id2
Sufiyan Ghori
  • 18,164
  • 14
  • 82
  • 110
Mandoleen
  • 2,591
  • 2
  • 20
  • 17
2

I think the best way is:

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

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

TonBR
  • 21
  • 1