从URL获取整个查询
Get whole query from the URL
我有一个问题,从url使用toQueryParams函数从protoypejs框架中获得整个查询例如:
var a = "http://anypage.com?a=lol&b=lal&c=laoa?&d=fehw#lalalalalSomeAnchor";
a.toQueryParams();
>> {d: 'fehw'}
what i want to get:
>> {a: 'lol', b: 'lal', c: 'loaa?', d: 'fehw'}
我知道url是无效的,但我想在将url发送到服务器之前预处理该url以转义其值。
我试图改变函数的正则表达式,只匹配第一个字符之间的字符?而最新的#,我已经有一个表达式/('?.*#)/这将为我工作,但我甚至想排除?还有#,我希望你们中有人能帮我一下:)
顺便说一句。下面的页面非常适合实时构建regexphttp://regexpal.com/
更新:感谢DaveRandom:)对于那些想要在框架中直接修复的人,请将以下行替换为:
L625: var match = this.strip().match(/'?([^#]*)/); // (/([^?#]*)(#.*)?$/); default
这个怎么样?/'?([^#]*)/
?
您不需要担心匹配到'最后' #
,因为锚从第一个#
开始,因此即使字符串中有多个#
,第一个出现之后的任何内容都不是查询字符串的一部分。
这里,这是可行的....我只是把第一个?
和最后一个#
之间的一切,连接并运行toQueryParams。也许这已经足够好了?
edit还将所有?&
替换为?
,因此所有参数都匹配…
用户/'?([^#]*)/
作为DaveRandom回答,并记住URL编码您的变量。使用encodeURIComponent("value");
添加到您的url之前…不能有两个?
在你的url
相关文章:
- AngularJS:获取链接中没有哈希的查询字符串值
- Solr查询以按日期月份获取数据&年
- 如何将mysql查询的结果获取到html文本框中
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 索引未在 $http.post 查询中获取正确的值
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- Express”;无法获取/查询“;错误
- 获取重复Get变量的查询字符串值
- *简单*解析云代码查询失败”;TypeError:无法调用方法'获取'未定义的“检索该信息”;
- 从查询字符串中获取变量,将其与Javascript中的数组匹配
- 如何使用html5中的javascript在页面加载时从查询字符串中获取值
- 仅从 ajax 查询获取 JSON
- 使用查询获取修改后的 dom 内容
- j查询获取所选复选框的索引
- parse.com 将数据从查询获取到成功函数之外的变量中
- 使用 jsonpath 查询获取父对象
- 从数组查询获取对象 JSON 值时出错
- j查询获取以前的输入值
- 需要使用CSOM和CAML查询获取lookplist值的帮助
- Angularjs:为什么服务查询获取的数据被当作对象对待,而不会被Angular使用?