Get: http://xxxx.com/yy?a=1&gourl=/zz/bb?pageindex=2&type=1 服务器后台取值时: req.query.gourl = gourl=/zz/bb?pageindex=2 , 少了 type=1。 大家有没有办法解决这个问题.
业务目的,是为了解决请求页面的操作完成之后返回到请求页面的位置。
gourl 后面的值要进行 url encode 编码就可以了。
@beyond5959 将gourl 的值进行urlencode 不行, 到了服务器req.已解开再进行query了。
@mrlong 那就通过拿 req.originalUrl,然后用 url.parse 自己处理咯。
自己顶上,
你狠棒棒哦。
@mrlong 我理解你的意思是
req.query.gourl = gourl=/zz/bb?pageindex=2&type=1
才是你想要的,但是这是不可能的,express 是用的 parseurl 模块拿出 pathname, query…近似 url.parse 只是速度上有提升。
但是我试着用 parseurl 和 url.parse 处理这个 url,结果中 query 是一样的,而 query 的处理应该都是常规处理,最后结果应该是
{ a: '1', gourl: '/zz/bb?pageindex=2', type: '1' }
encodeURIComponent
不行?
’ http://xxxx.com/yy?a=1&gourl=’ + encodeURIComponent(’/zz/bb?pageindex=2&type=1’)
能实现需求 方式应该很多种
url后面带url参数,这个url参数要encodeURIComponent
@polunzh @leavesdrift 这个方法想到了,没有用,到了express->req 已是转成了明文。
@blackjack 一样不灵.