Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法动态加载MathJax_Javascript_Jquery_Ajax_Mathjax - Fatal编程技术网

Javascript 无法动态加载MathJax

Javascript 无法动态加载MathJax,javascript,jquery,ajax,mathjax,Javascript,Jquery,Ajax,Mathjax,我有一个ajax post请求,它动态加载一些数学内容,如下所示 // post comment $post_comment.on("click", "[data-submit='post-comment']", function() { $.ajax({ success: function(response) { if(response.success) { $('#com

我有一个ajax post请求,它动态加载一些数学内容,如下所示

// post comment
    $post_comment.on("click", "[data-submit='post-comment']", function() {
        $.ajax({

            success: function(response) {
                if(response.success) {
                    $('#comment-list').load(' ' + '#comment-list');
                    MathJax.Hub.Queue(["Typeset",MathJax.Hub, "comment-list"]);

                }
            },

        });
   });
上面提到的mathjax命令无法呈现动态加载的数学脚本。 当我在命令行上执行相同的命令时,它会工作

如果有人解释为什么会发生这种情况以及如何修复,
load()
方法使用异步执行的ajax,这意味着在请求发送到服务器后,之后的语句将继续执行,而不等待服务器的响应返回

在这种情况下,当发送
加载
请求时,在
#注释列表
填充响应之前,
MathJax.Hub.Queue([“Typeset”,MathJax.Hub,“注释列表])语句将被执行,因此它不会呈现任何内容

解决方案是使用load提供的回调来运行语句,这些语句必须处理ajax请求加载的元素

load()
方法使用异步执行的ajax,这意味着在将请求发送到服务器之后,之后的语句将继续执行,而不等待服务器的响应返回

在这种情况下,当发送
加载
请求时,在
#注释列表
填充响应之前,
MathJax.Hub.Queue([“Typeset”,MathJax.Hub,“注释列表])语句将被执行,因此它不会呈现任何内容

解决方案是使用load提供的回调来运行语句,这些语句必须处理ajax请求加载的元素


这看起来像是查看
load
method的回调这看起来像是查看
load
method的回调
$('#comment-list').load(' ' + '#comment-list', function(){
    MathJax.Hub.Queue(["Typeset",MathJax.Hub, "comment-list"]);
});