$ .get VS window.open()

时间:2012-03-05 15:46:23

标签: jquery window

我有一个javascript函数,我想在其中打开一个新窗口并显示一些数据。问题是我正在向我的动作发送一个ID数组,我不想将它们附加到URL,因为我可以简单地将它作为请求参与者在我的行动中拉出来。逻辑如下。

$.get('${studentidurl}', {"registrationIDs[]": rowids}, function(data){
   window.open(data); 
   return false;
});

无法正常工作,因为window.open();不允许将其他参数传递给给定的网址。

有没有办法使用window.open()向paramiters发送,就像我们使用jquery $.get(...params go here...)传递参数一样?

3 个答案:

答案 0 :(得分:2)

  

有没有办法像我们一样使用window.open()向paramiters发送   会使用jquery $ .get传递参数(... params go here ...)?

是的,您可以直接在页面中指定查询字符串:

window.open('page.html?var1=value1&var2=value2');

此处var1var2及其值会传递到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;
});