将元框值加载到div AJAX中

时间:2018-03-17 14:52:27

标签: php jquery html ajax wordpress

我正在尝试从自定义字段值(嵌入<iframe>)加载视频。点击任意按钮播放该视频。

  

控制台日志:当我点击任何按钮时,它会转到jquery行console.log(result);。不提供与按钮相关的输出。

缺少什么以及如何使其可以正常使用?

HTML:

<ul>
    <li><button class="play_next"  data-meta-key="url-1">Video 1</button></li>
    <li><button class="play_next"  data-meta-key="url-2">Video 2</button></li>
    <li><button class="play_next"  data-meta-key="url-3">Video 3</button></li>
</ul>

Jquery的:

jQuery( document ).ready( function( $ ) {
    $( '.play_next' ).on('click', function( event ) {
        event.preventDefault();

        var meta_key = $( this ).data( 'metaKey' );
        var post_id = $( this ).data( 'post_id' );

        $.ajax( {
            url: ajaxobject.ajaxurl,
            type: 'get',
            dataType: 'html',
            data: { 
                action: 'wpse_296903_call_meta',
                meta_key: meta_key,
                post_id: post_id,
            },
            success: function( result) {
                $( '#output' ).append( result );
                console.log(result);
            }
        });
    });
});

PHP:

function wpse_296903_call_meta() {
if( isset( $_POST['post_id'] ) && isset( $_POST['meta_key'] )) {
    $post_id = $_POST['post_id'];
    $meta_key = $_POST['meta_key'];

    if ( in_array( $meta_key, ['url-1', 'url-2', 'url-3'] ) ) {
        echo get_post_meta( $post_id, $meta_key, true );
    }
}
wp_die();
}
add_action( 'wp_ajax_wpse_296903_call_meta', 'wpse_296903_call_meta' );
add_action( 'wp_ajax_nopriv_wpse_296903_call_meta', 'wpse_296903_call_meta' );

0 个答案:

没有答案