Mathjax未定义,但仅限于会话变量

时间:2016-08-10 21:36:12

标签: javascript php session mathjax

我想死。什么都不会比现在更好。 Mathjax是未定义的,但仅限于my2会话变量存在:

<?php
if(isset($_SESSION['odpowiedzi']) && isset($_SESSION['gdzieblad']))
    {
        echo '<script type="text/javascript">window.odpowiedzi = '.json_encode($_SESSION['odpowiedzi']).'; alert(window.odpowiedzi);</script>';
        unset($_SESSION['odpowiedzi']);
        echo '<script type="text/javascript">var gdzieblad = '.$_SESSION['gdzieblad'].';</script>';
        unset($_SESSION['gdzieblad']);
    }
?>

<script>
if(typeof gdzieblad !== 'undefined')
{
    $('.code').each(function(index,value)
    {
        var str1 = window.odpowiedzi[index];
        var str2 = "$$";
        var res = str2.concat(str1);
        var res2 = res.concat(str2);
        $(this).html(res2);
    });
}
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script>
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({tex2jax:{inlineMath: [['$','$'], ['\\(','\\)']]}});
    var QUEUE = MathJax.Hub.queue;
</script>
<script type="text/javascript" src="js/funkcjesprawdzian2.js"></script>

在thaat行的最后一个js:

window.UpdateMath = function(TeX){var math = MathJax.Hub.getAllJax(id)[0];QUEUE.Push(["Text",math,TeX]);}

...我有一个关键的JS错误,MathJax是未定义的。当$ _SESSION [&#39; odpowiedzi&#39;]和$ _SESSION [&#39; gdzieblad&#39;]未设置时,一切正常,我不会得到错误。什么是更多mathjax正在生成具有该错误的良好数学符号,但后来我无法继续其他js代码,我无法从错误的行中使用该函数。请帮帮我。

编辑: 我从控制台知道:window.odpowiedzi = [&#34; \ frac {1} {1}&#34;,&#34; \ frac {1} {2}&#34;,&#34; \压裂{1} {3} 444&#34;&#34; \压裂{1} {4}&#34;];警报(window.odpowiedzi);它看起来不像JSON

1 个答案:

答案 0 :(得分:0)

echo sprintf("'%s'", json_encode($_SESSION['odpowiedzi']));

将打印json。现在在javascript中你需要将它解析为对象。请参阅this answer如何执行此操作。

别忘了把#34;或者&#39; $ _SESSION [&#39; gdzieblad&#39;]也是。