AJAX中文乱码问题解决方案

11 篇文章 0 订阅

当使用response.write返回JSON数据到前端时,需要在前面加上这句 response.ContentType = "text/html;charset=gb2312";

完整的代码

前端:

     <script type="text/javascript">

   $(document).ready(function(){
      AjaxHKmoHotel();
   });
      
    function AjaxHKmoHotel()
    {
    $.ajax({
                    type: "POST",
                    url: "HotelMessage.asmx/GetHotelInfoByPage",
                    data:{page:1},
                    dataType: "json",
             
                    success: function (data) {
                 alert(data.result.hotel[0].address);
       },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert("调用出错" + errorThrown);
                    },
                   complete: function(XMLHttpRequest, textStatus) {
                        // 调用本次AJAX请求时传递的options参数
                       
                    }

                });

   }
 
   </script>

后台webservices


    [WebMethod]
    public void  GetHotelInfoByPage(int page)
    {
        string ResponseStr = "";
        string url = "http://www.qmango.com/interface/comm/get_hotel_info.asp?page="+page.ToString();
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
        WebResponse res = req.GetResponse();
        Stream ReceiveStream = res.GetResponseStream();
        StreamReader SR = new StreamReader(ReceiveStream, System.Text.Encoding.Default);
        ResponseStr = SR.ReadToEnd();
        ResponseStr = XmlToJson.XmlToJSON(ResponseStr);
        HttpResponse response = HttpContext.Current.Response;
        response.ContentType = "text/html;charset=gb2312";
        response.Write(ResponseStr);

    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值