2014-02-08 55 views
1

我試圖在包含在父級中的子網中傳遞參數。如何使用加載jQuery傳遞參數

我在父使用此:

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

在子網站(myPage.html下),顯示參數值的方式是:

alert(getURLParameter('param1')); 

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

但它不工作。任何想法讀取參數?

謝謝。

回答

1

加載並歸入父腳本的子腳本採用父母的環境。

所以在你的孩子腳本中,location.search指向不是你用來加載孩子的路徑,而是指向框架(或者,如果沒有框架,窗口)的URL。

您不能像當前正在嘗試的那樣將params傳遞到正在加載的腳本。相反,在父腳本中聲明它們並讓你的子腳本從那裏讀取它們,例如,

父腳本:

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