[WebMethod]public string Concat(params string[] arr){ string result = ""; for (int i = 0; i < arr.Length; i++) { result += arr[i]; } return result;}
这是jquery:
$(document).ready(function() { var myCars=new Array(); myCars[0]="Saab"; myCars[1]="Volvo"; myCars[2]="BMW"; $.AJAX({ type: "POST",url: "WebService.asmx/Concat",data: {arr: myCars},//can't figure out what to put here success: onSuccess,Error: onError });});function onSuccess(){ alert("testing");}function onError() { alert("fail");}</script>
任何帮助是赞赏!
解决方法 修改后的服务器端代码:[WebMethod]public string Concat(List<string> arr){ string result = ""; for (int i = 0; i < arr.Count; i++) { result += arr[i]; } return result;}
另外,在WebService类声明中添加以下内容:
[System.Web.Script.Services.ScriptService]
修改客户端代码:
$(document).ready(function () { var myCars = new Array(); myCars[0] = "Saab"; myCars[1] = "Volvo"; myCars[2] = "BMW"; $.AJAX({ type: "POST",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"); }
此外,在该脚本之上添加一个对JsON2的引用,例如:
<script src="http://AJAX.cdnjs.com/AJAX/libs/Json2/20110223/Json2.Js"></script>
笔记:
>我已经测试了这个在.NET 4和使用jquery 1.6.4.>确保保持客户端和服务器变量名同步:public string Concat(List< string> arr)data:JsON.stringify({arr:myCars})
总结以上是内存溢出为你收集整理的c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod全部内容,希望文章能够帮你解决c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)