url的三个js编码函数escape(),encodeURI(),encodeURIComponent()
网页在提交表单的时候,如果有空格,则会被转化为+字符。服务器处理数据的时候,会把+号处理成空格。escape()不对“+”编码。
escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如”春节”的返回结果是%u6625%u8282,,escape()不对”+”编码 主要用于汉字编码,现在已经不提倡使用。
encodeURI()是Javascript中真正用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号”; / ? : @ & = + $ , #”,也不进行编码。对应的解码函数是:decodeURI()。
encodeURIComponent() 能编码”; / ? : @ & = + $ , #”这些特殊字符。对应的解码函数是decodeURIComponent()。
假如要传递带&符号的网址,所以用encodeURIComponent()
四种常见的POST提交方式
Content-Type: application/x-www-form-urlencoded;charset=utf-8
消息主体编码方式
1、 application/x-www-form-urlencoded
// 请求头中服务器端解析数据格式 ,浏览器的原生
2、multipart/form-data
我们使用表单上传文件时,必须让
3、application/json
来告诉服务端消息主体是序列化后的 JSON 字符串
4、text/xml
是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范