2012-03-05 5 views
0

У меня есть функция javascript, в которой я хочу открыть новое окно и отобразить некоторые данные. Проблема в том, что я отправляю массив идентификаторов для своих действий, и я не хочу добавлять их к URL-адресу, поскольку я могу просто вытащить его в качестве параметра запроса в моих действиях. Логика такова.

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

Этот НЕ РАБОТАЕТ, как window.open(); не допускает прохождение дополнительных paramiters к данному URL.

Есть ли способ отправить accross paramiters с помощью window.open(), как мы будем передавать параметриты с помощью jquery $.get(...params go here...)?

+1

Ваш вопрос не имеет смысла. –

ответ

2

Есть ли способ, чтобы отправить accross paramiters с помощью window.open(), как мы бы передать paramiters с помощью JQuery $ .get (... PARAMS иди сюда ...)?

Да, вы можете указать строку запроса в странице непосредственно:

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

Здесь var1 и var2 с их значениями передаются page.html страницы в качестве примера. Вы можете добавить столько переменных строки запроса типа имени-значения, сколько захотите. Если значения содержат пробелы или другие специальные символы, вам нужно будет использовать функцию encodeURIComponent().

+0

URL-адреса имеют ограничения по длине. Какие существуют варианты, если количество передаваемых данных превышает 2000 символов? –

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('${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 так же, как открытие любого URL-адреса. Например, открытие google.com с параметром GETq установлено на foo.

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