Javascript 在余烬页面的URL中访问请求参数
我正在我的应用程序中使用Ember.js。在.jsp页面中,我有一个按钮,当我单击该按钮时,我调用Javascript 在余烬页面的URL中访问请求参数,javascript,url,ember.js,Javascript,Url,Ember.js,我正在我的应用程序中使用Ember.js。在.jsp页面中,我有一个按钮,当我单击该按钮时,我调用url=“emberapp/myproject/routename?isFromJSP=true&data=[1,2]” 这将正确路由到myroutename 问题是,我想读取控制器或路由中的布尔参数(isFromJSP)和列表参数(数据)。如何做到这一点 PS:我知道使用window.location.href,但它不会在我的EMBER init函数中返回当前页面。我正在使用AJAX调用在init
url=“emberapp/myproject/routename?isFromJSP=true&data=[1,2]”
这将正确路由到myroutename
问题是,我想读取控制器或路由中的布尔参数(isFromJSP)和列表参数(数据)。如何做到这一点
PS:我知道使用window.location.href,但它不会在我的EMBER init函数中返回当前页面。我正在使用AJAX调用在init函数中为我的ember页面获取数据,我希望将这些请求参数作为请求json对象传递。您应该签出
基本上,您可以在控制器中执行此操作:
queryParams: ['isFromJSP', 'data'],
isFromJSP: false,
data: [],
接下来,您可以将其用于计算属性,或者在传递到routesmodel
hook的params
散列上访问它们。如果你做了以后考虑把这个添加到你的路线:
queryParams: {
isFromJSP: {
refreshModel: true
},
data: {
refreshModel: true
}
},
这将强制执行对查询参数的更改将重新加载模型(并进行完全转换)。可能重复的问题的可能重复。它不是复制品。仔细阅读问题。当我在我的余烬页面中使用window.location.href时,它将返回上一页的url。如果我使用两个余烬页面传递参数,那么我可以使用此查询参数。但我的情况不同。在从.jsp页面传输控件时,我无法使用queryparams。如何在控制器中访问它们?我无法得到你在代码中指定的方式。你能给我举个例子吗?在我的参数映射中,我没有得到这些传递的值。那么就有问题了。这应该行得通,只需在“虚拟”url中输入类似于
/?data=[1,2]
的内容。非常感谢。我得到了它!还有一个疑问。当我重新加载我的余烬页面时,我的路线会更改两次,url会更改为“#/emberapp/checkQuery/checkQuery/function”。但是,如果我使用函数transitiono(),url将按预期的方式维护“#/emberapp/checkQuery/function”。你能带我到这里吗??