You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ionic v1(AngularJS)中如何设置与获取Querystring?

在Ionic v1 + AngularJS中设置与获取Querystring

在Ionic v1结合AngularJS开发时,处理URL的Querystring其实很顺手,用AngularJS内置的$location服务就能轻松搞定,我来给你拆解下具体操作:

一、设置Querystring

要给跳转的页面带上Querystring参数,有两种常用方式:

  • 直接在路径后拼接参数(就是你给出的写法):
$location.path('/voucher-view?token=' + token);
  • 更规范的AngularJS风格写法,分开指定路径和参数,这种方式处理多参数时更清晰:
$location.path('/voucher-view').search({ token: token });
// 如果有多个参数,直接在对象里添加即可
// $location.path('/voucher-view').search({ token: token, id: voucherId });

二、获取Querystring中的值

在目标页面的控制器里,同样用$location.search()方法就能拿到所有Querystring参数,它会返回一个包含所有参数的对象,直接取值就行:

// 获取所有参数对象
var urlParams = $location.search();
// 取出token参数
var token = urlParams.token;

// 也可以直接链式调用简化代码
var token = $location.search().token;

路由配置注意事项

这里要提醒下,你的路由配置不需要特意在url字段里声明Querystring参数,就像你给出的配置那样完全没问题:

.state('voucher-view', {
  url: '/voucher-view',
  templateUrl: "templates/voucher-view.html",
  controller: 'VoucherViewController'
})

Querystring是独立于路由状态存在的,只要路径匹配/voucher-view,不管有没有带参数,都会正常进入这个路由状态,完全不影响参数的传递和获取。

内容的提问来源于stack exchange,提问作者codegrid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:16:09