我正在尝试从自定义字段值(嵌入<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' );