将json字符串转换为javascript对象有两种方法:
var strs = eval("(" + data + ")");
var strs = $.parseJSON(data);
如果把ContentType设置为"application/json",那么success的第一个参数就是json转换后的JavaScript对象,不需要再手动parseJSON
context.Response.ContentType = "application/json";
$.ajax({ type: "post",//提交方式get或post url: "JsonTest.ashx",//地址详细名称 data: { i1: txt1, i2: txt2 },//提交的报文体,i1和i2为请求时的参数名称 success: function (data) { alert(data); },//请求成功的处理事件,data为获取到的response返回数据 error: function () { alert("错误"); }//请求通讯失败的处理事件(服务器错误、404等) });
两数相加例子:
htm代码:
<script type="text/javascript"> $(function () { $("#btn").click(function () { var txt1 = Number($("#i1").val()); var txt2 = Number($("#i2").val()); $.ajax({ type: "post", url: "JsonTest.ashx", data: { i1: txt1, i2: txt2 }, success: function (data) { alert(data); }, error: function () { alert("错误"); } }); }); }); </script> <input type="text" id="i1" value="" /> <input type="text" id="i2" value="" /> <input type="button" id="btn" value="确定" /> ashx代码: int txt1 = Convert.ToInt32(context.Request["i1"]); int txt2 = Convert.ToInt32(context.Request["i2"]); int count = txt1 + txt2; context.Response.Write(count);
获取ashx返回的内容:
$.ajax({ type: "post", url: "JsonTest.ashx", data: { i1: txt1, i2: txt2 }, success: function (data) { //var strs = eval("(" + data + ")"); //var strs = $.parseJSON(data);//json字符串转换为javascript对象 for (var i = 0; i < strs.length; i++) { alert(strs[i]); } }, error: function () { alert("错误"); } });