get请求特殊字符导致的问题

245 阅读1分钟

axios对get请求参数进行的处理

	function encode(val) {
	  return encodeURIComponent(val).
	    replace(/%40/gi, '@').
	    replace(/%3A/gi, ':').
	    replace(/%24/g, '$').
	    replace(/%2C/gi, ',').
	    replace(/%20/g, '+').  //  ' ' 空格转为+
	    replace(/%5B/gi, '[').
	    replace(/%5D/gi, ']');
	}
        
        

在HTML4.0.1中,基于RFC-1738标准,‘ ’在URL编码以后为 ‘+’,只有JS中由于基于RFC-2396标准,‘ ’在URL编码以后为‘%20’

在原生get请求中和url地址中,记得要用encodeURIComponent进行编码,
保证传到后端的数据正确