返回的json内容里有中文值、无法使用、改为只返回值是英文的属性就可以使用勒,怎么解决勒?
tips:
1、ashx,js,html都已另存为utf-8类型勒;
2、ashx和js代码(一部分):
StringBuilder sb = new StringBuilder("[");
string tpl = "\"id\":{0},\"text\":{1}";
foreach (DataRow dr in ds.Tables[0].Rows) {
sb.Append("{" + string.Format(tpl, dr["provinceid"], dr["provincename"]) + "},");
}
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.Write(sb.ToString().Substring(0, sb.ToString().Length - 1) + "]");
$(function () {
$.getJSON("ajax/getaddress.ashx?type=p", function (data) {
$.each(data, function (i, v) {
$("#selProvince").append("<option value='" + v.id + "'>" + v.text + "</option>");
});
});
});
直接运行ashx,页面输出json数组正常:
[{"id":1,"text":北京},{"id":2,"text":天津},{"id":3,"text":河北},{"id":4,"text":山西},{"id":5,"text":内蒙古自治区},{"id":6,"text":辽宁},{"id":7,"text":吉林},{"id":8,"text":黑龙江},{"id":9,"text":上海},{"id":10,"text":江苏},{"id":11,"text":浙江},{"id":12,"text":安徽},{"id":13,"text":福建},{"id":14,"text":江西},{"id":15,"text":山东},{"id":16,"text":河南},{"id":17,"text":湖北},{"id":18,"text":湖南},{"id":19,"text":广东},{"id":20,"text":广西壮族自治区},{"id":21,"text":海南},{"id":22,"text":重庆},{"id":23,"text":四川},{"id":24,"text":贵州},{"id":25,"text":云南},{"id":26,"text":西藏自治区},{"id":27,"text":陕西},{"id":28,"text":甘肃},{"id":29,"text":青海},{"id":30,"text":宁夏回族自治区},{"id":31,"text":新疆维吾尔自治区},{"id":32,"text":香港特别行政区},{"id":33,"text":澳门特别行政区},{"id":34,"text":台湾}]