【发布时间】:2021-02-17 12:50:55
【问题描述】:
我是 wordpress 中 Ajax 查询的新手。我在 JS 中有一个 jquery 请求和一个成功运行并按其应有的方式执行的 PHP 处理程序。但是,使用 wp_send_json_success() 发回的响应返回未定义,我不知道为什么。
javascript 请求:
$('.iflo-visibility-option-item').on('click', function() {
var post_id = $(this).attr( 'id' );
console.log(post_id);
$.ajax({
type: 'POST',
url: ajax_object.ajaxurl,
data: {
action: 'iflo_update_post_visibility',
post_id: post_id,
visibility: 'Library',
success: function ( response, status, XHR ) {
alert(status);
}
}
});
});
});
处理程序中应该返回的 PHP 块。
update_post_meta ( $post_id, $key, $_REQUEST ['visibility']);
$response = array('response' => 'Visibility was updated.',);
iflo_write_log($response);
wp_send_json_success( $response );
当响应写入日志时,我得到以下信息:
Array ( [response] => Visibility was updated. )
数据库更新成功。任何想法为什么响应没有到达客户?
【问题讨论】:
-
也许停止将
success包装成data...? -
试试:
success: function ( response) { alert(response.response); }