GET请求参数有URL或特殊符号怎么办?

版权声明:本文为博主原创文章,转载请注明出处!有时候也不是原创,手快就选了(我的文章随意转载复制,不在乎的哈!) https://blog.csdn.net/qq_31384551/article/details/82390649

在发起GET请求的时候有一种情况,那就是参数包含URL参数,如下:

http://www.abc123.com?url=http://www.def456.com?id=5&userName=admin

GET请求地址中参数url的值为  http://www.def456.com?id=5&userName=admin  

这样会造成什么问题?

你的服务器接收到的url参数会是  http://www.def456.com?id=5

也就是说 & 及后面的都没有了,如何解决这个问题呢?

这个时候就需要用到URL的Encode编码,代码如下:

var url='http://www.def456.com?id=5&userName=admin';
url=encodeURIComponent(url);//urlGET请求传递后正确无误

OK了,参数有特殊符号导致服务器接收到参数不正确使用同样的方法即可

注:服务器端接收到编码后的参数需要解码,这个根据自己的服务器开发语言去百度

如果我们js请求接收到参数是Encode编码后的怎么办?这时候需要解码,如下

附js Encode解码:

var url='http://www.def456.com?id=5&userName=admin';
url=decodeURIComponent(url);//urlGET请求传递后正确无误

猜你喜欢

转载自blog.csdn.net/qq_31384551/article/details/82390649
今日推荐