wordpress ajax won'不发送响应作为数组,为什么?



我曾为wordpress项目工作,需要通过ajax从数据库回调一些结果。

问题是响应将是字符串形式,而不是I方面。

这是我的尝试:

//The PHP
function edit_something() {

if ( isset($_REQUEST) ) {
global $wpdb;
$ID = intval( $_REQUEST['ID'] );
$query= "SELECT * FROM `TABLE` WHERE `ID` = '$ID';";
$result= $wpdb->get_results( $queryHavadesEnsani, 'ARRAY_A' );
print_r( $resultsHavadesEnsani );  
}
}

die();
}
add_action( 'wp_ajax_edit_something', 'edit_something' );

和端点

function myplugin_ajaxurl() {
echo '<script type="text/javascript">
var ajaxurl = "' . admin_url('admin-ajax.php') . '";
</script>';
}
add_action('wp_head', 'myplugin_ajaxurl');
jquery
function sendAjax( ID ) {
$.ajax({
url: ajaxurl,
type: 'POST',
data: {
'action' : 'edit_something',
'ID' : ID
},
success:function(data) {
console.log(data)
},
error: function(errorThrown){
console.log(errorThrown);
}
});
}

我真的需要你的指导

更多信息:

我也尝试了json_encode php和JSON。解析js,但错误的响应将是Object Object .

我猜不是"echo"您应该使用wp_send_json_success

https://developer.wordpress.org/reference/functions/wp_send_json_success/

如何在Wordpress中调用ajax

最新更新