c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod

c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod,第1张

概述我试图使用jQuery Ajax将一个字符串参数数组传递给C#ASP.NET Web服务.这是我的示例web方法.请注意,该函数接受可变数量的参数.当我运行 jquery时,Chrome的 JavaScript控制台中有一个500内部服务器错误.我正在使用jquery 1.6.2和.NET3.5 [WebMethod]public string Concat(params string[] ar 我试图使用jquery AJAX将一个字符串参数数组传递给C#ASP.NET Web服务.这是我的示例web方法.请注意,该函数接受可变数量的参数.当我运行 jquery时,Chrome的 JavaScript控制台中有一个500内部服务器错误.我正在使用jquery 1.6.2和.NET3.5
[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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存