ajax+ashx返回值详解
来源:互联网 发布:自动切换窗口软件 编辑:程序博客网 时间:2024/06/05 20:18
做Asp.Net网站开发,少不了使用ajax技术,我平时也经常用ajax但总觉得了解的不透彻,今天在这里总结一下,也给有需要的人提供一点帮助。前台我不太理解的是dataType=text和dataType=json有啥区别,后台我想搞清楚能不序列化直接返回对象吗?下面将揭晓答案。
后台返回string
后台代码:
public void ProcessRequest(HttpContext context){ try { string action = context.Request.Form["action"]; string param1 = context.Request.Form["param1"]; switch (action) { case "getString": //【1】转化成json返回 context.Response.Write(JsonHelper.Serialize(GetString())); //【2】直接返回 //context.Response.Write(GetString()); break; default: break; } } catch (Exception ex) { context.Response.Write("error"); }}private string GetString(){ return "abcde";}
前台代码dataType=text:
function GetStringText() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getString", param1: "aaa" }, dataType: "text", success: function(data) { //【1】后台数据转化成json字符串 alert("data=" + data); }, error: function(error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=text运行截图:
后台数据直接返回,dataType=text运行截图:
前台代码dataType=json:
function GetStringJosn() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getString", param1: "aaa" }, dataType: "json", success: function (data) { //【1】后台数据转化成json字符串 alert("data=" + data); //【2】后台数据不进行转化直接进入error处理分支 }, error: function (error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=json运行截图:
后台数据直接返回,dataType=json运行截图:
后台返回string[]
后台代码:
public void ProcessRequest(HttpContext context){ try { string action = context.Request.Form["action"]; string param1 = context.Request.Form["param1"]; switch (action) { case "getArray": //【1】转化成json返回 context.Response.Write(JsonHelper.Serialize(GetArray())); //【2】直接返回 //context.Response.Write(GetArray()); break; default: break; } } catch (Exception ex) { context.Response.Write("error"); }}private string[] GetArray(){ string[] array = {"aaa", "bbb", "ccc", "ddd", "eee"}; return array;}
前台代码dataType=text:
function GetArrayText() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getArray", param1: "aaa" }, dataType: "text", success: function(data) { //【1】后台数据转化成json字符串 var json = eval('(' + data + ')'); alert("data=" + data + "\r\n" + "json[0]=" + json[0] + "\r\n" + "json[1]=" + json[1] + "\r\n" + "json[2]=" + json[2]); //【2】后台数据不进行转化data="System.string[]" //alert("data=" + data + "\r\n" + // "data[0]=" + data[0] + "\r\n" + // "data[1]=" + data[1] + "\r\n" + // "data[2]=" + data[2]); }, error: function(error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=text运行截图:
后台数据直接返回,dataType=text运行截图:
前台代码dataType=json:
function GetArrayJosn() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getArray", param1: "aaa" }, dataType: "json", success: function (data) { //【1】后台数据转化成json字符串 alert("data=" + data + "\r\n" + "data[0]=" + data[0] + "\r\n" + "data[1]=" + data[1] + "\r\n" + "data[2]=" + data[2]); //【2】后台数据不进行转化直接进入error处理分支 }, error: function (error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=json运行截图:
后台数据直接返回,dataType=json运行截图:
后台返回Dictionary
后台代码:
public void ProcessRequest(HttpContext context){ try { string action = context.Request.Form["action"]; string param1 = context.Request.Form["param1"]; switch (action) { case "getDictionary": //【1】转化成json返回 context.Response.Write(JsonHelper.Serialize(GetDictionary())); //【2】直接返回 //context.Response.Write(GetDictionary()); break; default: break; } } catch (Exception ex) { context.Response.Write("error"); }}private Dictionary<string,object> GetDictionary(){ Dictionary<string, object> dict = new Dictionary<string, object>() { {"name","guo"}, {"age",18}, {"address","唐宁街十号"} }; return dict;}
前台代码dataType=text:
function GetDictionaryText() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getDictionary", param1: "aaa" }, dataType: "text", success: function(data) { //【1】后台数据转化成json字符串 var json = eval('(' + data + ')'); alert("data=" + data + "\r\n" + "json=" + json + "\r\n" + "json[name]=" + json["name"] + "\r\n" + "json[age]=" + json["age"] + "\r\n" + "json[address]=" + json["address"]); //【2】后台数据不进行转化 //alert("data=" + data + "\r\n" + // "data[0]=" + data[0] + "\r\n" + // "data[1]=" + data[1] + "\r\n" + // "data[2]=" + data[2]); }, error: function(error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=text运行截图:
后台数据直接返回,dataType=text运行截图:
前台代码dataType=json:
function GetDictionaryJosn() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getDictionary", param1: "aaa" }, dataType: "json", success: function (data) { //【1】后台数据转化成json字符串 alert("data=" + data + "\r\n" + "data[name]=" + data["name"] + "\r\n" + "data[age]=" + data["age"] + "\r\n" + "data[address]=" + data["address"]); //【2】后台数据不进行转化直接进入error处理分支 }, error: function (error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=json运行截图:
后台数据直接返回,dataType=json运行截图:
后台返回class
后台代码:
public void ProcessRequest(HttpContext context){ try { string action = context.Request.Form["action"]; string param1 = context.Request.Form["param1"]; switch (action) { case "getClass": //【1】转化成json返回 context.Response.Write(JsonHelper.Serialize(GetClass())); //【2】直接返回 //context.Response.Write(GetClass()); break; default: break; } } catch (Exception ex) { context.Response.Write("error"); }}private Student GetClass(){ Student objStudent = new Student() { Name = "guo", Age = 18 }; return objStudent;}
前台代码dataType=text:
function GetClassText() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getClass", param1: "aaa" }, dataType: "text", success: function (data) { //【1】后台数据转化成json字符串 var json = eval('(' + data + ')'); alert("data=" + data + "\r\n" + "json=" + json + "\r\n" + "json[Name]=" + json["Name"] + "\r\n" + "json[Age]=" + json["Age"]); //【2】后台数据不进行转化 //alert("data=" + data + "\r\n" + // "data[0]=" + data[0] + "\r\n" + // "data[1]=" + data[1] + "\r\n" + // "data[2]=" + data[2]); }, error: function (error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=text运行截图:
后台数据直接返回,dataType=text运行截图:
前台代码dataType=json:
function GetClassJosn() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getClass", param1: "aaa" }, dataType: "json", success: function (data) { //【1】后台数据转化成json字符串 alert("data=" + data + "\r\n" + "data[Name]=" + data["Name"] + "\r\n" + "data[Age]=" + data["Age"]); //【2】后台数据不进行转化直接进入error处理分支 }, error: function (error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=json运行截图:
后台数据直接返回,dataType=json运行截图:
后台返回json字符串
后台代码:
public void ProcessRequest(HttpContext context){ try { string action = context.Request.Form["action"]; string param1 = context.Request.Form["param1"]; switch (action) { case "getJson": //【1】转化成json返回 context.Response.Write(JsonHelper.Serialize(GetJson())); //【2】直接返回 //context.Response.Write(GetJson()); break; default: break; } } catch (Exception ex) { context.Response.Write("error"); }}private string GetJson(){ string json = "{\"name\":\"guo\",\"age\":\"18\",\"content\":{\"phone\":\"18233199999\",\"address\":\"唐宁街十号\"}}"; return json;}
前台代码dataType=text:
function GetJsonText() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getJson", param1: "aaa" }, dataType: "text", success: function(data) { //【1】后台数据转化成json字符串 var json = eval('(' + data + ')'); json = eval('(' + json + ')'); alert("data=" + data + "\r\n" + "json=" + json + "\r\n" + "json[name]=" + json["name"] + "\r\n" + "json[age]=" + json["age"] + "\r\n" + "json[content]=" + json["content"] + "\r\n" + "json[content][phone]=" + json["content"]["phone"] + "\r\n" + "json[content][address]=" + json["content"]["address"]); //【2】后台数据不进行转化 //var json = eval('(' + data + ')'); //alert("data=" + data + "\r\n" + // "json=" + json + "\r\n" + // "json[name]=" + json["name"] + "\r\n" + // "json[age]=" + json["age"] + "\r\n" + // "json[content]=" + json["content"] + "\r\n" + // "json[content][phone]=" + json["content"]["phone"] + "\r\n" + // "json[content][address]=" + json["content"]["address"]); }, error: function(error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=text运行截图:
后台数据直接返回,dataType=text运行截图:
前台代码dataType=json:
function GetJsonJosn() { $.ajax({ type: "post", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded;charset=utf-8;", data: { action: "getJson", param1: "aaa" }, dataType: "json", success: function (data) { //【1】后台数据转化成json字符串 var json = eval('(' + data + ')'); alert("data=" + data + "\r\n" + "json=" + json + "\r\n" + "json[name]=" + json["name"] + "\r\n" + "json[age]=" + json["age"] + "\r\n" + "json[content]=" + json["content"] + "\r\n" + "json[content][phone]=" + json["content"]["phone"] + "\r\n" + "json[content][address]=" + json["content"]["address"]); //【2】后台数据不进行转化 //alert("data=" + data + "\r\n" + // "data[name]=" + data["name"] + "\r\n" + // "data[age]=" + data["age"] + "\r\n" + // "data[content]=" + data["content"] + "\r\n" + // "data[content][phone]=" + data["content"]["phone"] + "\r\n" + // "data[content][address]=" + data["content"]["address"]); }, error: function (error) { alert("error=" + error); } });}
后台数据进行json序列化,dataType=json运行截图:
后台数据直接返回,dataType=json运行截图:
- ajax+ashx返回值详解
- Jquery Ajax 调用 ashx 返回结果
- Asp.Net中ajax+ashx使用详解
- Ajax请求ashx返回json数据的常见问题
- Ajax请求ashx返回json数据的常见问题
- Ajax请求ashx返回各类数据的常见处理方式
- ashx文件结合ajax使用(返回json数据)
- Ajax请求ashx返回各类数据的常见处理方式
- 利用.ashx实现Ajax
- jquery+ajax+ashx
- Jquery+ashx实现Ajax
- jquery+ajax+ashx
- Jquery+ashx实现Ajax
- ajax+ashx上传图片
- Ashx+Jquery(Ajax)案例
- ajax请求ashx数据
- Jquery+ashx实现Ajax
- jquery+ajax+ashx。ashx的使用方法
- OSG渲染状态管理
- 设置了防火墙地址为什么还是连接不上去是因为wifi连接的缘故吗
- Ubuntu14.04安装cuda8.0+cudnn5.1+Tensorflow1.0.0(GPU)教程
- HTML第二天学习
- Linux系统中段错误的原因
- ajax+ashx返回值详解
- 第二场个人训练赛(水题合集)
- 机器学习_2之目标跟踪Camshift算法
- 【Hash】bzoj4337 BJOI2015树的同构
- log4j日志存储到数据库
- 好久好久与
- html5学习2017.07.07
- 树中相关计算
- 翻车笔记:openjudge8469:特殊密码锁