HTTP 发送特殊字符 &

来源:互联网 发布:如何装修有质感 知乎 编辑:程序博客网 时间:2024/05/23 22:00
     在用HTTP发送带有中文时用encodeURI()方法,发送带有特殊字符的字符串时,这个方法对这!@#$%^*()等是不进行重新编码的,因为这些是ASCLL编吗,如果用get 方式,发送特殊字符会不能成功发送。
    这种情况下可以用post 方式去发送一些特殊字符,例如*()%$等,但post方式在发送的内容中如果有&字符还是不可以因为post在传输过程中是一个特殊字符。如果先把这个&字符转换为%26的话,如果再用encodeURI()  %号 也要会被转换成%25 这样还是出现错乱,


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