Reputation: 7300
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?
Upvotes: 16
Views: 146098
Reputation: 2661
i have same issue and resolved by
data: "Id1=" + id1 + "&Id2=" + id2
Upvotes: 4
Reputation: 7300
Found the solution:
It should be:
"{'Id1':'2','Id2':'2'}"
and not
"{'Id1':'2'},{'Id2':'2'}"
Upvotes: 35
Reputation: 21
I think the best way is:
data: "{'Ids':['2','2']}"
To read this values Ids[0], Ids[1].
Upvotes: 2
Reputation: 2552
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?
Upvotes: 5