2012-12-09 75 views
4

我想從PHP發送一些數據到Javascript(這兩個文件是不同的文件在同一文件夾中) 例如,如果我在PHP端計算一些值,我想發送數據到JavaScript和我使用的數據。 我該怎麼做?PHP和Javascript之間的通信

回答

1

在PHP頁面的腳本標記中分配JavaScript全局變量,並在其後包含其他JavaScript文件。

樣品:

<html> 
    <head> 
    <script type='text/javascript'>var testGlobal = <?php echo $globalJSValue ?></script> 
    <script type='text/javascript' src="url"></script> 
    <script type='text/javascript' src ="url"></script> 
    </head> 
</html> 

testGlobal變量現在都可獲得的JavaScript文件。

3
<script type='text/javascript'> 
var myVar = <?php echo $myVar; ?>; 
</script> 

。雖然有更復雜的溝通方式。

2

在實踐中,你可以使用這個:

FILE:的index.php

<HTML> 
    <body>  
     <input type="text" id="test" value="123"><br> 
     <input type="button" id="btn" onclick="send_to_php()" value="send to php"> 

     <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 
     <script> 

       function send_to_php() { 
         $.ajax({ 
          url: 'js_php.php', 
          type: 'POST',    
          // Form data 
          data: function(){ 
           var data = new FormData(); 
           data.append('test', $("#test").val());  
           return data; 
          }(), 
          success: function (data) { 
           var obj = JSON.parse(data); 
           $("#test").val(obj.result);     
          }, 
          error: function (data) { 
           console.log(data); 
          }, 
          complete: function() {     

          }, 
          cache: false, 
          contentType: false, 
          processData: false 
         }); 
       } 

     </script> 
    </body> 
</HTML> 

FILE:js_php.php

<?php 
    //FILE: js_php.php 

    $test = $_POST["test"]; 
    $test .= "456"; 

    $arrResult = array(  
     'result' => $test 
    );   

    print json_encode($arrResult); 
    die(); 
?> 

文件 「的index.php」 是通信使用jQuery Ajax方法在JavaScript和PHP之間進行。 當點擊「發送到php」按鈕時,將會運行「send_to_php()」,它將採用輸入id「test」的值並通過ajax發送給「js_php.php」文件。 反過來,文件「js_php.php」將接收這個變量作爲POST,修改和打印JSON格式的值。 由ajax函數「send_to_php()」實現的方法將「監聽」所有「js_php.php」打印。

返回成功後,JavaScript的轉換印刷JSON對象上的文字「js_php.php」,然後JS能夠在JavaScript代碼中處理:

success: function (data) { 
    var obj = JSON.parse (data); 
    $("# test").val(obj.result); 
},