折雨的天空
js里返回字符ok与字符ok比较不相等的问题
2019-3-4 我好笨


可以看看服务端是直接输出的字符,还是输出的Json。



如果输出的json,客户端用console.log输出看到的是ok,firebug之类的工具看到也是ok,



但是用代码:







var jmz = {};
jmz.GetLength = function(str) {
return str.replace(/[\u0391-\uFFE5]/g,"aa").length; //先把中文替换成两个字节的英文,在计算长度
};

alert(jmz.GetLength('ok'));
//data是ajax返回的,ajax的数据类型是html
alert(jmz.GetLength(data));



会看到第一个是2个长度,后面一个是4个长度。







修复问题就是,如果服务端直接输出的字符,ajax的数据类型设置为Html,如果服务端是输出的Json,ajax的数据类型设置为json.

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容