使用ashx文件响应来自JQuery的JSON请求
2010-06-06 20:40
537 查看
看看JS代码:
function getSecondaryContent(menuId)
{ $.getJSON("Article/FreshNews.ashx", function(data)
{
var txt = "<ul class=\"news\">";
$.each(data,function(i,n){
if(n.Url == "#") txt += "<li><a href=\"#\">"+ n.Title +"</a></li>";
else
txt += "<li><a href=\""+ n.Url +"\" target=\"_blank\">"+ n.Title +"</a></li>";
});
txt += "</ul>";
$("#"+menuId).after(txt); });}
ashx文件如下:
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
context.Response.ContentType = "application/json";
context.Response.Charset = "utf-8";
string txt = "[{\"Title\":\"学习使用AJAX技术\",\"Url\":\"#\",\"ArticleId\":\"Art1234\"},{\"Title\":\"使用JQuery构建网站\",\"Url\":\"#\",\"ArticleId\":\"Art1235\"},{\"Title\":\"使用JSON文件传输数据\",\"Url\":\"#\",\"ArticleId\":\"Art1236\"}]"; context.Response.Write(txt); }
public bool IsReusable {
get
{
return false;
}
}}
还有一个小插曲:因为我在web.config里面的设置是:
webconfig<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" responseHeaderEncoding="utf-8" />就是因为JSON文件只支持Unicode编码,所以我就一狠心将所有编码都改成utf-8,想着这样做就一定没有错了.谁知道,js接收的数据中文死活是乱码,无论我怎么设置ContentType都是一样,差点没有把我气疯.
后来千辛万苦才想起好像这些编码和当前区域设置有关,续步尝试之下,发现只有将fileEncoding设置为"gb2312"才算正确获取到数据:
right config<globalization fileEncoding="gb2312" requestEncoding="utf-8" responseEncoding="utf-8" responseHeaderEncoding="utf-8" />
忘了顺便说一句:在ashx文件用使用Session必须实现 IRequiresSessionState 接口
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangsong66/archive/2010/04/26/5529629.aspx
function getSecondaryContent(menuId)
{ $.getJSON("Article/FreshNews.ashx", function(data)
{
var txt = "<ul class=\"news\">";
$.each(data,function(i,n){
if(n.Url == "#") txt += "<li><a href=\"#\">"+ n.Title +"</a></li>";
else
txt += "<li><a href=\""+ n.Url +"\" target=\"_blank\">"+ n.Title +"</a></li>";
});
txt += "</ul>";
$("#"+menuId).after(txt); });}
ashx文件如下:
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
context.Response.ContentType = "application/json";
context.Response.Charset = "utf-8";
string txt = "[{\"Title\":\"学习使用AJAX技术\",\"Url\":\"#\",\"ArticleId\":\"Art1234\"},{\"Title\":\"使用JQuery构建网站\",\"Url\":\"#\",\"ArticleId\":\"Art1235\"},{\"Title\":\"使用JSON文件传输数据\",\"Url\":\"#\",\"ArticleId\":\"Art1236\"}]"; context.Response.Write(txt); }
public bool IsReusable {
get
{
return false;
}
}}
还有一个小插曲:因为我在web.config里面的设置是:
webconfig<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" responseHeaderEncoding="utf-8" />就是因为JSON文件只支持Unicode编码,所以我就一狠心将所有编码都改成utf-8,想着这样做就一定没有错了.谁知道,js接收的数据中文死活是乱码,无论我怎么设置ContentType都是一样,差点没有把我气疯.
后来千辛万苦才想起好像这些编码和当前区域设置有关,续步尝试之下,发现只有将fileEncoding设置为"gb2312"才算正确获取到数据:
right config<globalization fileEncoding="gb2312" requestEncoding="utf-8" responseEncoding="utf-8" responseHeaderEncoding="utf-8" />
忘了顺便说一句:在ashx文件用使用Session必须实现 IRequiresSessionState 接口
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangsong66/archive/2010/04/26/5529629.aspx
相关文章推荐
- AJAX之使用ashx文件响应来自JQuery的JSON请求
- 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求.
- 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求(转)
- 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求
- [转]使用ashx文件响应来自JQuery的JSON请求
- AJAX 之使用ashx文件响应来自JQuery的JSON请求.
- 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求.
- 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求.
- 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求
- 使用jQuery——Ajax请求本地json文件
- responseXML 属性 如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性: 请求 books.xml 文件,并解析响应:
- 使用jQuery——Ajax请求本地json文件
- 前端使用Jquery的getJSON方法,后台使用PHP,解决IE和火狐Firefox中存在的跨域ajax请求问题。
- nodejs实战:使用原生nodeJs模块实现静态文件及REST请求解析及响应(基于nodejs6.2.0版本,不使用express等webMVC框架 )
- jquery发送ajax请求,以及struts2的action响应请求并传回json数据的做法
- [转]甩掉 ashx/asmx,使用jQuery.ajaxWebService请求WebMethod,Ajax处理更加简练
- jquery使用$.getJson()跨域大数据量请求方法
- 使用jquery解析json文件
- Flask 中使用 JSON 响应页面的 Ajax 请求报错 TypeError: 'dict' object is not callable
- 使用HttpWebRequest和HttpWebResponse在后台进行文件的请求和响应