2012-06-22 35 views
2

我在父文檔中有變量,例如。JQuery Ajax加載的內容無法從父代調用PHP變量

$var = 'blah'; 

然後一個div填充一個Jquery AJAX調用,該文件包含該行。

<?php echo $var; ?> 

目前我正在

Notice: Undefined variable: 

我怎樣才能解決這個問題。

+1

你能解釋一下更好的地方'$ var ='blah';','<?php echo $ var; ?>'和你在哪裏得到'注意:未定義的變量:'?指定文件。 –

回答

2

你的$ var與jQuery在同一個php中嗎?你需要從呼應您在初始化它的PHP文件中的$ VAR

,例如:

a.php只會

<!DOCTYPE html> 
<html> 
    <head> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $.ajax({ 
        url : "B.php", 
        success : function(out) { 
         $('#out').html(out); 
        } 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <div id="out"> 
     </div> 
    </body> 
</html> 

B.php

<?php 
    $var = "foo"; 
    echo $var; 
?> 
2

父頁面上定義的變量無法通過您的jQuery AJAX請求所請求的頁面,因爲AJAX請求創建一個單獨的HTTP請求,這意味着該頁面沒有鏈接到你的父頁面,並且將無法訪問訪問其中定義的任何內容。

你可以嘗試通過jQuery AJAX功能的data參數發送的$var值,或者,只是重新填充$var您通過Ajax請求的頁面上。

1

由於JavaScript(jQuery)純粹在客戶端執行,並且AJAX調用僅僅是一個單獨的頁面請求,因此調用腳本無法知道「父」方法。我建議你通過GET或POST將$var傳遞給腳本。