求教:AJAX向后台WebMethod static方法传递数组并接收

Burning_Liu 2013-09-06 02:08:37
就是前台传一个数组到后台,然后后台的WebMethod static方法直接接收这个数组并使用!不想用那种传统的Requset 方法接收 还得一个个分割 好麻烦!求各位大侠简单明了的指点一下吧 谢谢谢了!
...全文
221 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Burning_Liu 2013-09-06
  • 打赏
  • 举报
回复
引用 2 楼 jshi123 的回复:
看下这个例子:

	<script src="http://code.jquery.com/jquery-1.10.1.js"></script>
	<script>
		$(document).ready(function () {
			var myCars = new Array();
			myCars[0] = "Saab";
			myCars[1] = "Volvo";
			myCars[2] = "BMW";

			$.ajax({
				type: "POST",
				url: "<%=Request.Url.AbsolutePath%>/Concat",
				data: JSON.stringify({ arr: myCars }),
				contentType: "application/json; charset=utf-8",
				dataType: "json",
				success: function (response) {
            		alert(response.d);
				},
				failure: function () {
            		alert("fail");
				}
			});
		});
	</script>

	[System.Web.Script.Services.ScriptService]
	public partial class WebForm1 : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{
		}

		[WebMethod]
		public static string Concat(List<string> arr)
		{
			string result = "";
			for (int i = 0; i < arr.Count; i++)
			{
				result += arr[i];
			}
			return result;
		}
	}
谢了 !可用!已经给分哟
Burning_Liu 2013-09-06
  • 打赏
  • 举报
回复
好吧,这个方法我知道 觉得很好麻烦!还是谢了
  • 打赏
  • 举报
回复
你要是传递字符串数组可以改用直接传递字符串,将字符串以特定的形式组织,后台进行分割处理。
jshi123 2013-09-06
  • 打赏
  • 举报
回复
看下这个例子:

	<script src="http://code.jquery.com/jquery-1.10.1.js"></script>
	<script>
		$(document).ready(function () {
			var myCars = new Array();
			myCars[0] = "Saab";
			myCars[1] = "Volvo";
			myCars[2] = "BMW";

			$.ajax({
				type: "POST",
				url: "<%=Request.Url.AbsolutePath%>/Concat",
				data: JSON.stringify({ arr: myCars }),
				contentType: "application/json; charset=utf-8",
				dataType: "json",
				success: function (response) {
            		alert(response.d);
				},
				failure: function () {
            		alert("fail");
				}
			});
		});
	</script>

	[System.Web.Script.Services.ScriptService]
	public partial class WebForm1 : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{
		}

		[WebMethod]
		public static string Concat(List<string> arr)
		{
			string result = "";
			for (int i = 0; i < arr.Count; i++)
			{
				result += arr[i];
			}
			return result;
		}
	}
Burning_Liu 2013-09-06
  • 打赏
  • 举报
回复
我之前传非数组参数的时候可以直接接收,但一传数组就挂了

62,233

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧