2017-06-03 107 views
3

Mathjax不是从PHP/AJAX渲染TEX公式动态

var questions = {"ques_id":"1","question":"<p><span class=\\\"math-tex\\\">\\\\(x = {-b \\\\pm \\\\sqrt{b^2-4ac} \\\\over 2a}\\\\)<\/span>&nbsp; &nbsp;Test Question new with mathjax<\/p>","ques_type":"text_based_questions","correctAnswer":3,"choices":[{"option_id":"1","value":"Option A"},{"option_id":"2","value":"Option B"},{"option_id":"3","value":"Option C"},{"option_id":"4","value":"OPtion D"}]}; 
 

 
$('#test-question').html(questions.question); 
 
MathJax.Hub.Queue(["Typeset",MathJax.Hub, 'test-question']);
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <script type="text/x-mathjax-config"> 
 
     MathJax.Hub.Config({ 
 
     showProcessingMessages: false, 
 
     tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] } 
 
     }); 
 
    </script> 
 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_HTMLorMML"> 
 
    </script> 
 
    </head> 
 
\t <body> 
 
    <h5 class="border-bottom">Instructions: Read the question, work out your answer and select the best option.</h5> 
 
    <p><span class="math-tex">\(\left(\sum_{k=1}^n a_k b_k \right)^2 \leq \left(\sum_{k=1}^n a_k^2 \right) \left(\sum_{k=1}^n b_k^2 \right) \)</span></p> 
 
\t \t <div class="question" id="test-question"></div> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
    </body> 
 
</html>

我从Ajax请求得到以下问题

MathJax配置正确,但来自JSON来的问题是不会呈现由MathJax提供。这个问题保存在MySQL数据库中,并通过ajax请求获取。

我尝试了一切,但它仍然无法正常工作。请帮助

+0

您可能想要使用片段功能创建实例。这很可能是一个简单的同步问题,但没有足够的信息。 –

+0

@PeterKrautzberger我已经添加了一个代码片段,其中MathJax从JSON未呈现。 –

回答

2

从Json它添加了双斜杠。 PLZ删除它会解决你的问题。

+0

'question = question.replace(/ \\\\/g,'\\'); question = question.replace('','');' –