来自网络,自己测试过;可以用
前台:
<script type="text/javascript">
function CSmethod() {
$.ajax({ type: "Post",
url: "javaTest.aspx/HelloWorld",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{days:2}",
success:function (data) { alert(data.d); },
error: function (err) { alert(err); }
});
}
</script>
后台:
[System.Web.Services.WebMethod]
public static string HelloWorld(Int32 days)
{
// return "Hello World of CS1";
return "[{\"nowtime\":\"" + DateTime.Now.AddDays(days).ToShortDateString() + "\"}]";
}
前台发送数组:
<script type="text/javascript">
function AddNewWork() {
var js_Arr = new Array(); //定义数组
js_Arr.push("{ name: '张三', salary: '50' }, { name: '李四', salary: '60' }, { name: '王五', salary: '70' }");
$.ajax({ type: "Post",
url: "MyPage.aspx/AddNewWork",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{arr_Str:[" + js_Arr + "]}", //传送数组
success: function (data) { alert(data.d); },
error: function (err) { alert(err); }
});
}
后台接收数组
[System.Web.Services.WebMethod]
public static ArrayList AddNewWork(Dictionary<string, string>[] arr_Str)
{
// return "Hello World of CS1";
// return "[{\"nowtime\":\"" + DateTime.Now.AddDays(days).ToShortDateString() + "\"}]";
ArrayList al = new ArrayList();//创建动态数组
al.Add("{张三:'10'}");
al.Add("{李四:'20'}");
al.Add("{王五:'30'}");
al.Add("{赵六:'40'}");
return al;//返回动态数组
}
如果要js_Arr是一个数组,那么可以直接使用
data: {"str_Fc_Id": js_Arr}
jQuery会帮助进行序列化。