I\'m trying to pass an array of string parameters to a C# ASP.NET web service using jQuery Ajax. Here is my sample web method. Note that the function accepts a variable numb
Revised server-side code:
[WebMethod]
public string Concat(List<string> arr)
{
string result = "";
for (int i = 0; i < arr.Count; i++)
{
result += arr[i];
}
return result;
}
Also, add this above your WebService
class declaration:
[System.Web.Script.Services.ScriptService]
Revised client-side code:
$(document).ready(function () {
var myCars = new Array();
myCars[0] = "Saab";
myCars[1] = "Volvo";
myCars[2] = "BMW";
$.ajax({
type: "POST",
url: "WebService.asmx/Concat",
data: JSON.stringify({ arr: myCars }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: onSuccess,
failure: onError
});
});
function onSuccess(response) {
alert(response.d);
}
function onError() {
alert("fail");
}
Also, add above that script block a reference to JSON2, such as:
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
Notes:
public string Concat(List<string> arr)
data: JSON.stringify({ arr: myCars })