在警报javascript中查看php msg

时间:2014-06-18 07:17:45

标签: javascript php

我有一个php变量包含字符串,从一个函数获取,并希望在javascript中的警报消息中查看它,好吧,我试过那个

    var tmp='<?php echo $BillMsg; ?>';
    alert(tmp);

但警报没有显示,在控制台中我发现了这个错误 未捕获的SyntaxError:意外的标记ILLEGAL

我试图定义一个随机的php变量,如下面的

    <?php $test="test";?>
    <script> alert(<?php echo $test; ?>); </script>

它工作正常,但在使用变量$ BillMsg时,它不会工作?怎么了?

3 个答案:

答案 0 :(得分:1)

您看到的错误是JS错误,这意味着您的JS代码存在问题(可能是您未向我们展示的前端代码的其他部分存在缺陷)。或者,PHP值导致问题。在JS中轻松插入PHP值的方法是JSON

var tmp = <?= json_encode($someVar); ?>;
//<?= is short for <?php echo
alert(tmp);

无论$someVar的价值是什么,这都不应该造成任何麻烦 使用更新的代码段,问题是传递给$test函数时未引用alert的值。将其更改为此,它将起作用:

<?php $test="test";?>
<script> alert(<?= json_encode($test); ?>); </script>

答案 1 :(得分:0)

试试这个..

<html>
<head>
    <script>
        function msg1(){
        var msg = document.getElementById('msg').innerHTML;
        alert(msg);
    }
    </script>
</head>
<body>
    <?php
       echo "<p id='msg'>Here is my string</p>";
    ?>
    <input type="button" onclick="return msg1();" value="button"/>
</body>

答案 2 :(得分:-3)

这个怎么样

<?php 
$BillMsg = isset($BillMsg)? $BillMsg : "$BillMsg not set";
?>
var tmp='<?php echo $BillMsg; ?>';
    alert(tmp);