Ajax请求ashx返回各类数据的常见处理方式
。请求text数据,在success事件中手动解析
前台:
$.ajax({
type: "post",
url: "checkFile.ashx",
data: { "filename": "" },
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();
}
在这种情况下,单引号分割和转移双引号分割,都可以。 .请求json格式数据,jquery自动解析
前台:
$.ajax({
type: "post",
url: "checkFile.ashx",
data: { "filename": "" },
// 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方法自动解析。 .带序列化的text数据前台解析
前台:
$.ajax({
type: "post",
url: "checkFile.ashx",
data: { "filename": "" },
dataType: "text",
success: function (data) {
$("p").text(data);
var json = eval('(' + data + ')');
alert(json.Name);
}
});
json数据内容: {"Name":"zhangsan","Code":,"Birthday":"\/Date(649666800000)\/"}
后台处理: HttpResponse res = context.Response;
HttpRequest req = context.Request;
string code = req["filename"];
Student stu = new Student {
Name="zhangsan",
Code=,
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; }
} . 带序列化的json 前台自动解析:
前台:
$.ajax({
type: "post",
url: "checkFile.ashx",
data: { "filename": "" },
dataType: "json",--------------只要指定此处就可以,后台处理同上。
success: function (data) {
alert(data.Name);
}
});
Ajax请求ashx返回各类数据的常见处理方式的更多相关文章
- Ajax请求ashx 返回 json 格式数据常见问题
问题:ashx 返回的字符串json格式,在前台ajax自动解析失败. 问题分析:经过排查,发现是拼接json时出现” ’ “单引号,jquery无法解析,用” “ “双引号才可以.例如: stri ...
- Jquery通过ajax请求NodeJS返回json数据
最近看了NodeJS相关的,在网上查了下结合AJAX的应用,感觉应用前景还是不错的.为什么用这个组合呢? 1.NodeJS不需要安装,拷贝过去就可以使用,而环境变量可以只配置在当前cmd窗口,运行方便 ...
- ajax请求action返回json数据
1,服务端: HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType(&q ...
- Query通过Ajax向PHP服务端发送请求并返回JSON数据
Query通过Ajax向PHP服务端发送请求并返回JSON数据 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuer ...
- jquery的ajax异步请求接收返回json数据
http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...
- 【04】AJAX接收服务器返回的数据
AJAX接收服务器返回的数据 readyState 和 status 属性 readyState 属性保存有 XMLHttpRequest 对象的交互状态,从 0 到 4 变化: 0 :未初始化(还没 ...
- jQuery ajax请求错误返回status 0和错误error的问题
上周发现一个jQuery ajax请求错误返回status 0和错误error的问题,responseText是"error",状态码是0而不是200: $.ajax({ type ...
- ajax请求ashx跨域问题解决办法
ajax请求ashx跨域问题解决办法 https://blog.csdn.net/windowsliusheng/article/details/51583566 翻译windowsliusheng ...
- jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
SON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON在前后台交互的过程中发挥着相当出色的作用.请接着往下看教 ...
随机推荐
- location.href IE6 下不起作用的罪魁祸首
解决问题 在btn_publish函数内逻辑最后面加:return false;
- UESTC_How many good substrings CDOJ 1026
Icerain likes strings very much. Especially the strings only consist of 0 and 1,she call them easy s ...
- wireshark----教你如何抓包
wireshark----教你如何抓包 wireshark是一款强大的抓包工具,走过路过一定不要错过就是了,当你学习TCP/IP协议的时候,学习使用wireshark 抓包正是理论联系实际最好的方法, ...
- HDMI相关知识
HDMI热插拔检测原理 HDMI(19Pin)/DVI(16 pin)的功能是热插拔检测(HPD),这个信号将作为主机系统是否对HDMI/DVI是否发送TMDS信号的依据.HPD是从显示器输出送往计算 ...
- Linux-0.11内核源代码分析系列:内存管理get_free_page()函数分析
Linux-0.11内存管理模块是源码中比較难以理解的部分,如今把笔者个人的理解发表 先发Linux-0.11内核内存管理get_free_page()函数分析 有时间再写其它函数或者文件的:) /* ...
- LR实战之Discuz开源论坛——登录脚本
脚本业务流:访问Discuz论坛首页——登录论坛——退出论坛.本次使用LoadRunner11版本. 一.录制脚本注意 1.确保Discuz论坛能在服务器运行正常. 2.录制前先试访问Discuz论坛 ...
- jquery $(function) 区别
document.ready和onload的区别——JavaScript文档加载完成事件 页面加载完成有两种事件 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件) 二是onloa ...
- (原)前端知识杂烩(css系列)
更新于 20160217 1. css hack .pad{ padding:17px 0 0 17px; /* 普通写法 */ *padding:17px 0 0 17px; /* *为IE7 *+ ...
- Android 轮询之 Service + AlarmManager+Thread (转)
android中涉及到将服务器中数据变化信息通知用户一般有两种办法,推送和轮询. 消息推送是服务端主动发消息给客户端,因为第一时间知道数据发生变化的是服务器自己,所以推送的优势是实时性高.但服务器主动 ...
- Leetcode算法刷题:217和219题 Contains Duplicate
从题目名字就可以看出这两道题是相似的,219是217的加强版 217:Contains Duplicate 题目 给予一个数组,判断是否有重复的元素.如果有就返回True,没有就返回False.以下是 ...