2014-02-08 2 views
1

Я пытаюсь передать параметры в дочерней сети, включенной в родительский.Как передать параметры с помощью загрузки jQuery

Я использую это в родительском:

$('#idElemet').load('myPage.html?param1='+value); 

В детской сети (mypage.html), чтобы показать значение Param это:

alert(getURLParameter('param1')); 

function getURLParameter(name) { 
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); 
    return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); 
} 

Но это не работает. Любая идея читать параметры?

Спасибо.

ответ

1

Детский скрипт, загружаемый в родительский скрипт и включаемый в родительский скрипт, принимает среду родителя.

Итак, в вашем дочернем sscript location.search указывает не на путь, который вы использовали для загрузки дочернего элемента, а на URL-адрес фрейма (или, если нет, окно).

Вы не можете передать параметры загружаемому сценарию, как вы сейчас пытаетесь сделать. Вместо этого объявите их в своем родительском скрипте и попросите их прочитать их оттуда, например.

Родитель сценарий:

var foo = 'bar'; 
$('#idElemet').load('myPage.html'); 

mypage.html:

<script>alert(foo); //"bar"</script> 
+0

Цикл генерирует div и вызывает функцию загрузки на каждом div, поэтому значение переменной теряется на каждой итерации. – user3287825

0

Вы близки. Вы можете читать такие параметры:

$.urlParam = function(name){ 
    var results = new RegExp('[\\?&amp;]' + name + '=([^&amp;#]*)').exec(window.location.href); 
    return results[1] || 0; 
} 

# example.com?test=1&param1=heythere 
$.urlParam('param1'); // heythere 
$.urlParam('test'); // 1 
Смежные вопросы