ajax提交的url是没有经过UTF-8编码的

通过IE地址栏的url,IE会自己给进行UTF-8编码,但是通过javascript提交的get请求就不会,需要自己加上函数进行编码。javascript中有三个函数:

escape() 方法:

不会被此方法编码的字符: @ * / +

encodeURI() 方法:

不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:

不会被此方法编码的字符:! * ( ) '

 

因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。

 

 

 

你可能感兴趣的:(JavaScript,Ajax,IE)