Ajax请求ashx 返回 json 格式数据常见问题

 

问题:ashx 返回的字符串json格式,在前台ajax自动解析失败。

问题分析:经过排查,发现是拼接json时出现” ’  “单引号,jquery无法解析,用” “ “双引号才可以。例如:

string strjson="[ { 'userName':'test'}]";  //单引号导致jquery无法自动解析。

string strjson="[ {\"userName\":\"test\"}]"; // 双引号可以解析;

 

ajax 代码:

  $.ajax({
                    type: 'post',
                    url: 'Report.ashx?type=1',
                    dataType: 'json',
                    async: 'true', //异步
                    cache: 'false',
                    success: function(data) {
                      
                        mychartOptions.series = data;

                        var chart = $("#report1").highcharts(mychartOptions);
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {

                        $("#report1").html("<span>获取数据失败" + textStatus + "</span>");

                    }


                });

 

后台ashx代码:

  public void ProcessRequest(HttpContext context)
        {
            string type = context.Request["type"];

            if (type == "1")
            {
                // 三种设置测试都通过,不设置contenType也可以     "application/json"  "text/plain"  "text/json" 
                //context.Response.ContentType = "text/json";

                string json = "[{\"userid\":123}]";
                context.Response.Write(json);
            }
            else if (type == "2")
            {
                GetReport2(context);
            }

        }        

 

转载于:https://www.cnblogs.com/jingping/p/3885388.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值