日期:2014-05-16  浏览次数:20976 次

xmlhttp.open的URL如果进行URL转义例如&变%26等号变%3D会收不到回应文字
我用validator验证网页时发现我的JS代码里的xmlhttp.open的URL例如a.asp?fname=bill&lname=gates里面的&和=似乎需要转义。所以我就把URL改为a.asp?fname%3Dbill%26lname%3Dgates,结果收不到回应文字了。也就是说那个a.asp进行Request.QueryString("lname")得不到值。

请问什么原因?

------解决方案--------------------
&、=在url中有特殊作用,怎么能转义掉呢,除非要传递的参数值中包含&或者=,比如:
a.asp?fname=bill===&lname=gates&&&,这时才需要使用escape()函数进行转义
JScript code
var url = 'a.asp?fname=' + escape("bill===") + '&lname=' + escape("gates&&&");

------解决方案--------------------
要将键的值编码,而不是将键值对一起编码