如何在javascript

时间:2015-06-24 14:17:53

标签: javascript php

我无法在回声中逃避我的代码JS:

echo "<script type='text/javascript'>
    // Initialiser l'objet.
    var tab_nb_match_par_user = ".json_encode($tab_nb_match_par_user).";
    var taille = 70;    
    console.log(tab_nb_match_par_user);
    for (var k in tab_nb_match_par_user){
        $('#img').append('<img src="stats_matching/' + k + '.gif" alt="' + k + '" title="' + k + '" width="' + taille + '" />');
        taille = taille-6;
    }
</scrip>";

我有以下错误:Uncaught SyntaxError: missing ) after argument list

4 个答案:

答案 0 :(得分:3)

使用HEREDOC代替回声。

echo <<<ENDOFSCRIPT
<script type='text/javascript'>

                    // Initialiser l'objet.
                    var tab_nb_match_par_user = ".json_encode($tab_nb_match_par_user).";
                    var taille = 70;    
                    console.log(tab_nb_match_par_user);
                    for (var k in tab_nb_match_par_user){
                        $('#img').append('<img src="stats_matching/' + k + '.gif" alt="' + k + '" title="' + k + '" width="' + taille + '" />');
                        taille = taille-6;
                    }
            </script>

ENDOFSCRIPT;

https://wiki.php.net/rfc/heredoc-with-double-quotes

的更多信息

答案 1 :(得分:2)

假设你只想在json部分实际填充php,为什么不只是回显你需要的位,而不是整个结构。这是很多更好的模板练习。

<script type='text/javascript'>
    // Initialiser l'objet.
    var tab_nb_match_par_user = "<?php echo json_encode($tab_nb_match_par_user) ?>";
    var taille = 70;    
    console.log(tab_nb_match_par_user);
    for (var k in tab_nb_match_par_user){
        $('#img').append('<img src="stats_matching/' + k + '.gif" alt="' + k + '" title="' + k + '" width="' + taille + '" />');
        taille = taille-6;
    }
 </script>

你在结束脚本标签中也错过了't'。

答案 2 :(得分:2)

echo <<<END
    <script type="text/javascript">
        // Initialiser l'objet.
        var tab_nb_match_par_user = ".json_encode($tab_nb_match_par_user).";
        var taille = 70;    
        console.log(tab_nb_match_par_user);
        for (var k in tab_nb_match_par_user){
            $('#img').append('<img src="stats_matching/' + k + '.gif" alt="' + k + '" title="' + k + '" width="' + taille + '" />');
            taille = taille-6;
        }
    </script>
END;

答案 3 :(得分:1)

您需要使用反斜杠转义代码:

echo "<script type='text/javascript'>

                        // Initialiser l'objet.
                        var tab_nb_match_par_user = ".json_encode($tab_nb_match_par_user).";
                        var taille = 70;    
                        console.log(tab_nb_match_par_user);
                        for (var k in tab_nb_match_par_user){
                            $('#img').append('<img src=\"stats_matching/' + k + '.gif\" alt=\"' + k + '\" title=\"' + k + '\" width=\"' + taille + '\" />');
                            taille = taille-6;
                        }
                </scrip>";