如何在AJAX之后使这个媒体按钮工作

时间:2017-08-26 01:24:00

标签: javascript php jquery ajax wordpress

我有一个由AJAX jQuery加载的TinyMCE的简单编辑器。编辑器加载成功但“媒体按钮”无效。

这个AJAX PHP代码,从这里找到代码:https://developer.wordpress.org/reference/functions/wp_editor/#comment-2273

// leave comment
function ajax_leave_comment() {
    global $wpdb, $bbp;

    $reply_id = esc_attr( $_POST['reply_id'] );
    $topic_id = bbp_get_reply_topic_id( $reply_id );

    $temp = '';
    $temp .= bbp_get_the_content( array( 'context' => 'reply-' . $reply_id ) );
    $temp .= \_WP_Editors::enqueue_scripts();
    $temp .= print_footer_scripts();
    $temp .= \_WP_Editors::editor_js();

    echo $temp;
}

jQuery AJAX。

// leave comment
$( document ).on( 'click', 'button[class*="leave-comment-"]', function(e) {
    var button_comment = $( this );
    var reply_id = button_comment.attr( 'reply-id' );

    var comment_data = {
        action: 'ajax_leave_comment',
        reply_id: reply_id,
    }

    $.ajax({
        url: ajaxurl,
        type: 'POST',
        data: comment_data,
        dataType: 'html',

        beforeSend: function ( xhr ) {
            button_comment.text( 'Loading...' );
        },

        success: function( response, result, xhr ) {
            button_comment.hide();
            button_comment.after( response );
        }
    });
});

加载编辑器截图

enter image description here

如果单击“媒体按钮”,则在控制台日志上出现此错误,

enter image description here

请解释如何使Media Button正常工作。谢谢。

0 个答案:

没有答案