直接贴代码!我也测试通过! 一切看注释! 谢谢!

<%@ WebHandler Language="C#" class="Handler" %>

using System;
using System.Web;
using System.Text; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string id = "0";
//判断提交方式
if (context.Request.RequestType.ToLower() == "get")
{
id = context.Request.QueryString["id"];
}
else
{
id = context.Request.Form["id"];
} string name = @"jinho's good \"" you";
/**
* 今天暂时用手动创建个json字符串类型,其实.net中有
* System.Runtime.Serialization.Json.DataContractJsonSerializer这个类来把
* 实体对象转换为json字符串! 改天再用那种方式写个吧!
* 自己也学习学习[更多关于json介绍!google一下多了是]
* */
StringBuilder sb = new StringBuilder("{");
sb.Append("id:"+id);
/*
* 注意但属性值为字符串的时候需要有'号或者"号['字符串']
* 当 参数 name 又含 有单引号或者双引号 就会出错了![截断了字符串]
* 在这里sb.Append(",name:'escape(" + name + ")'"); 用js的escape也不行
* context.Server.HtmlEncode();,context.Server.UrlEncode();也不行
* 可以看看这里
* escape("'") = %27 可以在js用 unescape("'") 就还原了
* escape(""") = %22 嘿嘿,用这个方法也是我的无奈之举!
* 谁有好的方法记得告诉我哦! 先谢谢了!
* 问题已解决:http://www.cnblogs.com/jinho/archive/2010/05/07/1729586.html
* */
sb.Append(",name:'" + name.Replace("'", "%27").Replace("\"", "%22") + "'");
sb.Append(",age:22");
sb.Append("}");
//输出 json 字符串
context.Response.Write(sb.ToString());
context.Response.End();
} public bool IsReusable {
get {
return false;
}
} }
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>前台</title>
</head>
<body>
<form id="form1" runat="server">
<asp:scriptmanager runat="server" ID="sm" />
<script type="text/javascript">
function ajaxFunction() {
var xmlHttp;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e) { // Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) { try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
return xmlHttp;
}
</script>
<script type="text/javascript">
var xmlhttp = null;
function loadJsonData() {
xmlhttp = ajaxFunction();
if (xmlhttp != null) {
xmlhttp.onreadystatechange = state_Change;
var data = "id=231";
//把这两句注释,看看下面的POST提交方式
xmlhttp.open("GET", "Handler.ashx?" + data, true);
xmlhttp.send(null);
/*
xmlhttp.open("POST", "Handler.ashx", true);
//如果使用POST提交 不设置这条语句,url页面 Request.Form["key"] 是取不到值的!
//这句我也不知道为什么要设置,网上找到的![GET提交可以不设置,但需要把参数拼接到URL]
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(data); //如果是post提交,需要把数据发送过去
*/
}
else {
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change() {
if (xmlhttp.readyState == 4) {// 4 = "loaded"
if (xmlhttp.status == 200) {// 200 = "OK"
eval("var s = " + xmlhttp.responseText);
$get("divDisplay").innerHTML = "ID" + s.id + "Name:" + unescape(s.name) + "Age:" + s.age;
}
else {
alert("Error:" + xmlhttp.statusText);
}
}
}
</script> <div>
<input type="button" value="GetJson" onclick="loadJsonData();" />
<div id="divDisplay"></div>
</div>
</form>
</body>
</html>

AJAX提交到Handler.ashx一般处理程序返回json数据-转的更多相关文章

  1. AJAX提交到Handler.ashx一般处理程序返回json数据 (字符串拼接方式)

    <%@ WebHandler Language="C#" Class="Handler" %> using System; using System ...

  2. 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据

    1:跨域请求handler一般处理程序 using System; using System.Collections.Generic; using System.Web; using System.W ...

  3. 用jQuery的ajax请求一般处理程序返回json数据

    1.web页面代码: 注意事项: dataType类型一定要写成json. 2.一般处理程序代码: 注意事项: ContentType类型写成"application/json"或 ...

  4. ashx将datatable返回json数据

    1.直接使用JsonConvert.SerializeObject().将datatable放入  输出字符串 下面是测试:用webform+ashx作为接口. public class GetJso ...

  5. ashx文件结合ajax使用(返回json数据)

    ashx文件返回json数据: public void ProcessRequest(HttpContext context) { context.Response.ContentType = &qu ...

  6. jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)

    1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...

  7. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

  8. jquery的ajax异步请求接收返回json数据

    http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...

  9. jquery ajax返回json数据进行前后台交互实例

    jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...

随机推荐

  1. 计算机鼻祖-Donald Knuth(高纳德) 的传奇

    李开复说,练内功,不要仅仅花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目.要把数据结构.算法.数据库.操作系统原理.计算机体系结构.计算机网络,离散数学等基础课程学好.最好还是试 ...

  2. Git Xcode配置

    本文转载至 http://www.cnblogs.com/imzzk/p/xcode_git.html 感谢作者分享 Git源代码管理工具的出现,使得我们开发人员对于源码的管理更加方便快捷.至于Git ...

  3. 2016/07/07 apmserv5.2.6 Apache启动失败,请检查相关配置。MySQL5.1已启动。

    因为要用PHP做一个程序,在本机上配PHP环境,下了个APMServ5.26,安装很简单,不再多说,装好后,启动,提示错误,具体是:“Apache启动失败,请检查相关配置.√MySQL5.1已启动”, ...

  4. bootstrap-table 行内编辑

    1.文件引入 <link rel="stylesheet" href="bootstrap.css"> <link rel="sty ...

  5. ORA-00257

    删除归档日志文件的方法: http://www.blogjava.net/kuuyee/archive/2013/05/15/399287.html 惜分飞大大的博客:http://www.xifen ...

  6. jquery特效(2)—选项卡

    最近公司有个页面正好用到了选项卡,我就写了一下,感觉还不错,都挺简单的. 下面来看动态效果: 一.主体程序 <!DOCTYPE html> <html> <head> ...

  7. Educational Codeforces Round 2 C. Make Palindrome —— 贪心 + 回文串

    题目链接:http://codeforces.com/contest/600/problem/C C. Make Palindrome time limit per test 2 seconds me ...

  8. CSU - 1530 Gold Rush —— 二进制

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1530 对于一块2^n质量的gold.需要把它分成a质量和b质量(a+b=2^n),且 ...

  9. ansible使用中遇到的问题

    前提是,可以ssh无秘钥过去,但是使用ansible就报这个错误, 正在找造成的原因及解决方法 第一步, 明白了,,如何已经打通ssh无秘钥后,就不能再 hosts中加入ansible_ssh_pas ...

  10. nginx ,node 配置项目

    nginx ,node 配置项目 1.安装好node,npm 2.安装cnpm,-g是全局的 sudo npm install -g cnpm --registry=https://registry. ...