我曾为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