JQuery库Ajax返回Json对象如果过滤关键字符???
今天碰到一个非常诡异的问题,一直到下午下班都没有解决,花了半天时间。。
需求是是一个前端的一个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("}");
.net 也自带转换工具, 但比上面的那个稍差一点点。