我有一个javascript函数,我想在其中打开一个新窗口并显示一些数据。问题是我正在向我的动作发送一个ID数组,我不想将它们附加到URL,因为我可以简单地将它作为请求参与者在我的行动中拉出来。逻辑如下。
$.get('${studentidurl}', {"registrationIDs[]": rowids}, function(data){
window.open(data);
return false;
});
此无法正常工作,因为window.open();
不允许将其他参数传递给给定的网址。
有没有办法使用window.open()向paramiters发送,就像我们使用jquery $.get(...params go here...)
传递参数一样?
答案 0 :(得分:2)
有没有办法像我们一样使用window.open()向paramiters发送 会使用jquery $ .get传递参数(... params go here ...)?
是的,您可以直接在页面中指定查询字符串:
window.open('page.html?var1=value1&var2=value2');
此处var1
和var2
及其值会传递到page.html
页面作为示例。您可以根据需要添加任意数量的名称 - 值对查询字符串变量。如果值包含空格或其他特殊字符,则必须使用encodeURIComponent()
函数。
答案 1 :(得分:1)
我不知道你的意思。您可以像打开任何网址一样传递GET
个参数。例如,在google.com
参数GET
设置为q
的情况下打开foo
。
window.open('http://www.google.com?q=foo')
答案 2 :(得分:0)
您尝试传递给新窗口的参数,如果它类似于一些查询字符串值,您可以像这样使用
var newurl = "newpage.aspx?label=34&&pr=154;
myRef = window.open(newurl, 'mywin', 'width=660,height=580,toolbar=0,location=0,resizable=0');
如果你想传递一些你从get get收到的数据,你可以这样做
(假设你从get方法获得了一些id或字符串)
$.get('${studentidurl}', {"registrationIDs[]": rowids}, function(data){
var newurl = "newpage.aspx?val="+data;
myRef = window.open(newurl, 'mywin', 'width=660,height=580,toolbar=0,location=0,resizable=0');
return false;
});