2012-12-09 38 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); 
},