将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("错误"); }
});