前言
在一个项目中,需要用到时间来筛选,而后端给出的参数是[start],[end]这两个参数进行筛选,而url不支持直接使用[]符号进行请求,需要进行转码后才能进行正常请求
为什么需要转码?
在发送请求时,我们需要将请求参数转码之后再发送,这是因为在HTTP协议只支持ASCII码字符集,而我们常常需要传递的参数包含中文、特殊字符等非ASCII码字符,如果不进行转码,那么可能会导致服务器无法解析请求参数,从而导致请求失败
转码方式
URL编码:使用encodeURLComponent()函数进行对参数进行编码,将非ASCII码字符和赞成%XX的形式,其中XX是字符的ASCII码值的十六进制表示
FormData对象:可以使用FormData对象来发送表单数据,在添加参数时,会自动进行编码
JSON编码:使用JSON.stringify()函数将js对象转换成JSON字符串,再发送到服务器端,服务器端再使用JSON.parse()函数来解析JSON字符串
最后
总之,进行转码能够保证数据的正确传输,并且避免了数据被篡改的风险,这是HTTP协议对请求和url的限制