2012-03-05 5 views
0

私は新しいウィンドウを開き、いくつかのデータを表示するためのjavascript関数を持っています。問題は私の行動にIDの配列を送ることであり、URLにそれらのIDを追加したくないので、単にアクションの要求パラメタとして引き出すことができます。論理は以下の通りです。

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

この

は、指定されたURLに追加paramitersを渡すために許可されていません window.open();として機能しません。

jquery $.get(...params go here...)を使用してパラメタを渡すように、window.open()を使用してパラメタを送信する方法はありますか?

+1

質問には意味がありません。 –

答えて

2

我々 は(...のparamsは...ここに行く)jqueryの$のに.getを使用してparamitersを通過するようにwindow.open()を使用してaccross paramitersを送信する方法はありますか?

はい、あなたが直接ページにクエリ文字列を指定することができます。ここでは

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

var1var2をその値では、一例としてpage.htmlページに渡されます。このような名前と値のペアのクエリ文字列変数は、必要な数だけ追加できます。値にスペースやその他の特殊文字が含まれている場合は、encodeURIComponent()機能を使用する必要があります。あなたはそれがいくつかのクエリ文字列値のようなものである場合は、新しいウィンドウに渡そうとしているどのようなパラメータ

+0

URLの長さに制限があります。渡すデータの量が2,000文字を超える場合、どのようなオプションがありますか? –

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('${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メソッドからいくつかのIDまたは文字列を取得していると仮定)あなたはこの

のように行うことができ、呼び出します。任意のURLを開くのと同じ方法で、GETパラメータを渡すことができます。たとえば、GETパラメータqがに設定されたgoogle.comを開きます。

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