在get请求参数中如果包含&符号,在发送请求时就会被当作参数的分割符处理:
例如get请求中不包含&符号的参数
var url = "http://localhost:8080/login?userName=小张&passWord=" + "123456";
此时请求不会发生错误,也是我们期望的。
例如get请求中包含&符号的参数
var url = "http://localhost:8080/login?userName=小张&passWord=" + "123&456";
我们希望的请求参数:
var url = "http://localhost:8080/login?userName=小张&passWord=" + "123&456";
但实际上请求参数会变成
var url = "http://localhost:8080/login?userName=小张&passWord=" + "123" + "&456=";
在请求时会发生错误,这时我们需要使用encodeURIComponent()进行手动转义
var url = "http://localhost:8080/login?userName=小明&passWord=" +encodeURIComponent("123&456");