admin管理员组文章数量:1534915
1。请求text数据,在success事件中手动解析
前台: $.ajax({ type: "post", url: "checkFile.ashx", data: { "filename": "2" }, dataType: "text", success: function (data) { var json = eval('(' + data + ')'); alert(json.Age); } }); 后台处理: HttpResponse res = context.Response; HttpRequest req = context.Request; string code = req["filename"]; string jsonString = "{\"Age\":28,\"Name\":\"张三\"}"; //string jsonString = "{'Age':23,'Name':'abc'}"; if (code != null) { res.Write(jsonString); res.ContentType = "text/plain"; res.End(); } 在这种情况下,单引号分割和转移双引号分割,都可以。 2.请求json格式数据,jquery自动解析 前台: $.ajax({ type: "post", url: "checkFile.ashx", data: { "filename": "3" }, // contentType:"application/json",---------- 在ajax请求ashx文件的json数据时,此属性不能被指定,而在请求webservices时,是必须指定的。 dataType: "json", success: function (data) { alert(data.Name); } }); 后台处理: HttpResponse res = context.Response; HttpRequest req = context.Request; string code = req["filename"]; string jsonString = "{\"Age\":28,\"Name\":\"张三\"}"; if (code != null) { res.Write(jsonString); res.ContentType = "text/plain"; res.End(); } 在这种情况下,只有转移双引号分割,才可以在前台被jquery方法自动解析。 3.带序列化的text数据前台解析 前台: $.ajax({ type: "post", url: "checkFile.ashx", data: { "filename": "2" }, dataType: "text", success: function (data) { $("p").text(data); var json = eval('(' + data + ')'); alert(json.Name); } }); json数据内容: {"Name":"zhangsan","Code":111,"Birthday":"\/Date(649666800000)\/"} 后台处理: HttpResponse res = context.Response; HttpRequest req = context.Request; string code = req["filename"]; Student stu = new Student { Name="zhangsan", Code=111, Birthday=Convert.ToDateTime("1990-8-3") }; JavaScriptSerializer serializer=new JavaScriptSerializer(); string jsonString = serializer.Serialize(stu); json数据内容: "{\"Name\":\"zhangsan\",\"Code\":111,\"Birthday\":\"\\/Date(649666800000)\\/\"}" if (code != null) { res.Write(jsonString); res.ContentType = "text/plain"; res.End(); } [Serializable] public class Student { public string Name { get; set; } public int Code { get; set; } public DateTime Birthday { get; set; } } 4.带序列化的json 前台自动解析: 前台: $.ajax({ type: "post", url: "checkFile.ashx", data: { "filename": "3" }, dataType: "json",--------------只要指定此处就可以,后台处理同上。 success: function (data) { alert(data.Name); } });转载于:https://wwwblogs/ANLOG/p/4260031.html
版权声明:本文标题:Ajax请求ashx返回json数据的常见问题(转自:http:blog.163.comm13864039250_1blogstatic21386524820133254431945)... 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1726893795a1088993.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论