将php文件输出存储在javascript变量中

将php文件输出存储在javascript变量中,javascript,php,Javascript,Php,我有如下php文件 <script> var msg = [I want php file output to store in this variable] alert(msg); </script> action.php?id=1 <?php echo $_GET['id']; ?> 我有javascript代码,如下所示 <script> var msg = [I want php file output to

我有如下php文件

<script>
   var msg = [I want php file output to store in this variable]
   alert(msg);
</script>
action.php?id=1

<?php
  echo $_GET['id'];
?>

我有javascript代码,如下所示

<script>
   var msg = [I want php file output to store in this variable]
   alert(msg);
</script>

var msg=[我希望php文件输出存储在此变量中]
警报(msg);

我怎样才能做到这一点。有什么办法吗?

您可以通过AJAX实现这一点。例如,使用jqueryajax

例如: script.js

var varFromPhp = null;

$.ajax({
    type : "POST",
    url : "getVar.php",
    data : {'exampleVar' : 5},
    dataType : 'json', // here you can specify what format of the data you expect from the server
    success : function(data) {
        varFromPhp = data.res;
    },
    error : function(data) {

    }
});
getVar.php

<?php
    $v = null;

    if (isset($_POST['exampleVar']))
        $v = $_POST['exampleVar'];

    // do some stuff with the variable and the put it into an array

    $ret = array();
    $ret['res'] = $ret;

    echo json_encode($ret);

?>

试试看


var msg=[];
警报(msg);

如果PHP解析器解析了文件,则只需将PHP变量作为字符串输出到JS变量中即可

对于PHP 5.4及以上版本,您可以使用以下标记:

var msg='';

var msg='';这使得stringOr整数:var msg=;我想从php文件中获取,我在php文件中有一些过程,然后他们返回一些数据,我想在JS variableOk中获取。然后你可以试试ajax,但我需要从php文件而不是直接变量中获取,将来如果我在另一个域中有js代码,在另一个域中有php文件,我必须在php文件中执行几个过程。如何使用AjAX在该变量中获得php文件输出,正如您所知,AjAX不允许跨域套接字。
var msg = '<?= $_GET['id'] ?>';