最近同事遇到个问题,今天才解决,就是在调用ajax。dll的时候,页面无法获得到页面类,发现如果不设置持久cookies,就不会有问题,一旦设置了,就会出现问题,说某某页面类未定义,后来才发现原因:在设置永久cookies的时候,有两个值,一个是用户名,另一个是密码,这个用户名是汉字的,如果没用escape编码,就会报错,用了之后就没问题了。请高手解释下原因!!

解决方案 »

  1.   


    escape采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)因为 Cookie 的值的要求是“只能用可以用在 URL 编码中的字符”。我们知道“escape()”方法是把字符串按 URL 编码方法来编码的,所以我们需要用一个“escape()”方法来处理输出到 Cookie 的值