url中出现"#“号时,”#"及后面参数为null
解决方法:传参就用escape()函数转义
原理:当url中出现"#“号时,”#“及其后面的字符串都会被忽略,不会被发送到服务器,因为浏览器将一个url视为一个html页面,而”#str"表示该页面的id为str的块(section),如
…
,请求被发送到服务器,然后服务器把页面发送到浏览器,并被浏览器解析之后,浏览器在将该页面自动滚动到id为str的section。因为请求的是页面,所以浏览器不会把"#"后面的当成参数发送到服务器,因此服务器收到的该参数值为null。
而JQuery发送post类型的ajax请求时,因为参数被封装,没有放在url中,因此不需要转义