如何从外部PHP文件中获取字符串并将其设置为JavaScript中的var

时间:2014-10-31 05:23:58

标签: php jquery html

我认为这很简单,但我无法让它发挥作用。

我有两个文件。 main.htmldata.php 这两个文件位于服务器上的同一文件夹中。

我想从PHP文件中获取一个字符串并在jQuery中使用它。在下面的示例中,我希望浏览器创建一个弹出窗口,文本为“xxxx”。我没有弹出窗口。

data.php

<?php

$var = "xxxx";

echo json_encode($var);

?>

main.html

<!DOCTYPE html>
<html>    
    <head>      
        <script type="text/javascript" src="scripts/jquery-1.11.1.js"></script>
        <script>
            $(document).ready(function() {
                var testString = <?php $var = json_decode(file_get_contents('data.php'), true); echo $var; ?>;
                alert(testString);
            });
        </script>
    </head>
    <body>
        <h1>Test</h1>
    </body>
</html>

任何参赛者?

3 个答案:

答案 0 :(得分:2)

<!DOCTYPE html>
<html>
    <head>
        <script>
            $(document).ready(function() {
                $.ajax({
                    url:"data.php",
                    success:function(result){
                        alert(result);
                    }
                });             
            });
        </script>
    </head>
    <body>
        <h1>Test</h1>
    </body>
</html>

答案 1 :(得分:1)

第一个问题是在许多服务器上.html没有为PHP解析

第二个问题是file_get_contents实际上会显示.php文件的完整内容(包括<?php),这可能不是您想要的内容。

相反,我会使用AJAX请求,例如http://api.jquery.com/jquery.get/

为此,您需要在<head>

中包含jQuery

答案 2 :(得分:0)

你应该在html启动之前获取php数据,如下所示

<?php
$var = json_decode(file_get_contents('data.php'), true);
?>
<!DOCTYPE html>
<html>    
    <head>      
        <script>
            $(document).ready(function() {
                var testString = <?php echo $var; ?>;
                alert(testString);
            });
        </script>
    </head>
    <body>
        <h1>Test</h1>
    </body>
</html>