当前位置: 代码迷 >> Web前端 >> HTTP 发送特殊字符 &
  详细解决方案

HTTP 发送特殊字符 &

热度:219   发布时间:2012-08-25 10:06:20.0
HTTP 发送特殊字符 &
在用HTTP发送带有中文时用encodeURI()方法,发送带有特殊字符的字符串时,这个方法对这!@#$%^*()等是不进行重新编码的,因为这些是ASCLL编吗,如果用get 方式,发送特殊字符会不能成功发送。
这种情况下可以用post 方式去发送一些特殊字符,例如*()%$等,但post方式在发送的内容中如果有&字符还是不可以因为post在传输过程中是一个特殊字符。如果先把这个&字符转换为%26的话,如果再用encodeURI()  %号 也要会被转换成%25 这样还是出现错乱,


总结:
1 。如果用GET方式请求:应该先先把所有的要发送的内容进行encodeURI , 然后再把~!@#$%^&*()等特殊字符替换为  (% +16进制)
2 。如果用POST方式请求 :应该为  先把所有的要发送的内容进行encodeURI(),然后再把&符替换为%26这样OK了
  相关解决方案