2012-03-05 38 views
0

我有一個javascript函數,我想在其中打開一個新窗口並顯示一些數據。問題是我發送一個ID數組到我的動作,我不想將它們追加到URL,因爲我可以簡單地將它作爲請求參數發送到我的動作中。邏輯如下。

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

不起作用window.open();不允許通過附加paramiters給定的URL。

有沒有一種方法可以使用window.open()發送accross參數,就像我們使用jquery $.get(...params go here...)來傳遞參數一樣?

+1

你的問題沒有意義。 – 2012-03-05 15:48:54

回答

2

有沒有辦法使用window.open()發送翻過paramiters像我們 將使用jQuery $不用彷徨(... PARAMS去這裏...)通過paramiters?

是的,你可以在頁面上直接指定查詢字符串:

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

這裏var1var2與他們的價值觀傳遞給page.html頁作爲例子。您可以根據需要添加儘可能多的這種名稱 - 值對查詢字符串變量。如果值包含空格或其他特殊字符,則必須使用encodeURIComponent()函數。

+0

網址有長度限制。如果您傳遞的數據量超過了2000多個字符,則存在哪些選項? – 2017-07-31 15:45:47

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方法的一些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; 
}); 
1

我不知道你的意思。您可以像打開任何網址一樣傳遞GET參數。例如,打開google.com,將GET參數q設置爲foo

window.open('http://www.google.com?q=foo')​