在页面加载时获取查询字符串值失败
Get query string value on page load fails
注意:此页面有一个不使用AngularJS的旧版本。
在页面加载的jQuery/javascript文件中,我正在运行一个函数来返回一个查询字符串值,该值作为空字符串返回,但url中确实存在该值。返回的查询字符串值被发送到一个switch语句,该语句返回一个电话号码,该电话号码将在浏览器渲染时显示在页面上。
// Page load/ready
var campaignSub = getParameterByName("sub");
getPhoneNumber(campaignSub);
然后在我的html标记中,我有一个提供给我的第三方脚本,它扫描页面,查找从switch语句返回的电话号码,并将该电话号码替换为从回收的电话号码池中提取的电话号码。
在那之后,我的Angular Controller启动并加载一个局部视图ui.router以显示一个问题。
我的问题:为什么我无法从首先启动的脚本中返回简单的查询字符串参数值?
使用JavaScript获取查询字符串值的最佳方法。签出以下示例以获取查询字符串。
var queryString = window.location.search || '';
var keyValPairs = [];
var params = {};
queryString = queryString.substr(1);
if (queryString.length)
{
keyValPairs = queryString.split('&');
for (pairNum in keyValPairs)
{
var key = keyValPairs[pairNum].split('=')[0];
if (!key.length) continue;
if (typeof params[key] === 'undefined')
params[key] = [];
params[key].push(keyValPairs[pairNum].split('=')[1]);
}
}
使用上述脚本
//url=http://stackoverflow.com/how-to-get-query-string-values-in-javascript?query=123&list=default
params['query'];
//Output ["123"]
params['list'];
//Output ["default"]
//Note: If the query string value is empty the method will return the value as empty string.
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 从查询字符串参数推断出正确的数据类型
- AngularJS:获取链接中没有哈希的查询字符串值
- AngularJS,如何更改查询字符串
- 如何将activeadmin查询字符串传递给batch_action
- 如何从查询字符串中的输入字段发回文本
- Django在使用AJAX时没有接收到新的查询字符串
- 使用查询字符串方法清除浏览器缓存
- 用于刷新的Javascript更改查询字符串
- 我想将查询字符串变量添加到JSON名称/值对中
- 将查询字符串值从页面传递 asp.net 到 iframe
- jqueryajax生成查询字符串,如果未定义则不通过
- 如何将查询字符串传递到HTML框架
- AngularJs将查询字符串发布到c#控制器
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 在 JavaScript 中将查询字符串传递给 Web 服务 (ASP.NET)
- 在查询字符串中查找 where 子句
- POST encodeURI查询字符串内部服务器错误 500
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- 更改链接 URL 中的路径名,同时保持查询字符串不变