zoukankan      html  css  js  c++  java
  • 使用ashx文件响应来自JQuery的JSON请求

    看看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

  • 相关阅读:
    【Ubuntu】Ubuntu使用root登录
    【Ubuntu】在Ubuntu 12.04 LTS上安装JDK6
    2012/12/18 水曜日 感怀
    【Ubuntu】Ubuntu Java aptget安装配置
    GRUB,分区,menu.ls,(hd0,1)【转载】
    【ExtJS】错误:this.config[...].width为空或不是对象
    【Ubuntu】Ubuntu常用文件操作命令
    Win7 64bit OS 安装64bit JDK后 不能安装Spket IDE
    IE中控制焦点(asp.net)
    mac os里各种启动参数的含义
  • 原文地址:https://www.cnblogs.com/xie/p/1752761.html
Copyright © 2011-2022 走看看