url请求传值中间有#号时后面的值都会获取不到
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了url请求传值中间有#号时后面的值都会获取不到相关的知识,希望对你有一定的参考价值。
参考技术A "#"号在页面会被当成页面的特殊符号使用,所以,通过url后面带参数的方式传参数时如果参数中带有"#"号进行转义或者改变传值方式 参考技术B 用debug跟踪一下嘛,或者在你认为有可能出错的地方把该值打印出来看一下也是可以滴。Qt笔记-使用正则表达式匹配URL及获取Get请求后面的参数(QRegExp)
如需要拿到xxxxx的值:
http://www.it1995.cn/xxxxxxxx
代码如下:
QRegExp regExp;
regExp.setPattern("http://www.it1995.cn/([^()\\"' ]*)");
如现提取的url为:
/db?table=myTable
对应的代码:
//提取msg中的url和参数
QStringList list = msg.split("?");
this->m_baseUrl = list[0];
if(list.size() > 1){
QStringList paraList;
QRegExp rx("(\\\\w+)=(\\\\w+)");
int pos = 0;
while ((pos = rx.indexIn(list[1], pos)) != -1) {
paraList << rx.cap(0);
pos += rx.matchedLength();
}
for(QString item : paraList){
this->m_para.insert(item.split("=")[0], item.split("=")[1]);
}
}
截图如下:
以上是关于url请求传值中间有#号时后面的值都会获取不到的主要内容,如果未能解决你的问题,请参考以下文章
http GET 请求的参数怎么传递,放在body里用json形式后台request读流获取不到数据。
Qt笔记-使用正则表达式匹配URL及获取Get请求后面的参数(QRegExp)
wepy父组件onload中请求数据,更新.sync动态传值绑定的数据,子组件onload中获取不到值。