今天碰到一个非常诡异的问题,一直到下午下班都没有解决,花了半天时间。。需求是是一个前端的一个tab控件,没点击一个页签,ajax动态获取数据,每个页签都有分页,自己动态输出的。。如:
全部   部门一   部门二   部门三   部门四………………今天上午突然出现一个奇怪的问题,就是点击全部的时候,怎么也显示不了数据,后面基本都可以显示出来
一直到晚上,问题大概断定为用户可能输入了英文的转义符号"\",回来尝了把,果然,    protected void Page_Load(object sender, EventArgs e)
    {
        string userName = string.IsNullOrEmpty(Request.QueryString["userName"]) ? "" : Request.QueryString["userName"].ToString();
        int age = string.IsNullOrEmpty(Request.QueryString["age"]) ? 0 : Convert.ToInt32(Request.QueryString["age"]);
        string address = "s;'d\\\\\\\"fs;dfk";        StringBuilder sb = new StringBuilder();
        sb.Append("{");
        sb.AppendFormat("\"userName\":\"{0}\",\"age\":\"{1}\",\"address\":\"{2}\"", userName, age, address);
        sb.Append("}");        Response.Write(sb.ToString());
    }<script type="text/javascript">
    $(function () {
        $.ajax({
            type: "GET",
            url: "Ajax/Demo.aspx",
            data: "userName=qingyun",
            success: function (data) {
                alert("userName=" + data.userName);
                alert("age=" + data.age);
                alert("address=" + decodeURIComponent(data.address));
            },
            error: function (red) {
                alert("error");
            },
            dataType: "json"
        });
    });
</script>
其中需要注意的是:        sb.Append("{");
        sb.AppendFormat("\"userName\":\"{0}\",\"age\":\"{1}\",\"address\":\"{2}\"", userName, age, address);
        sb.Append("}");
我想知道,如果用户数据里面包括了很多英文的转义符号"\",我该怎么“友好”的显示出来???