php - 如何在 Wordpress 中获取 Ajax 数据
问题描述
我在 wordpress 管理页面中尝试了一个自定义 ajax 函数来从 ajax 方法获取数据,但没有发生任何事情。
我该如何解决?
代码 javascript 和 ajax:
function GetName() {
var baseurl = window.location.protocol + '//' + window.location.hostname + window.location.pathname;
var geturl = baseurl + '?page=get-name-member-category';
jQuery.ajax({
type: "get",
dataType: "json",
url: geturl,
success: function(msg){
console.log(msg);
}
});
}
后端数据 PHP 响应代码:
public function getSelectedName()
{
global $wpdb;
$table = $wpdb->prefix .'admin_custom_users';
$sql = "SELECT name FROM $table WHERE member_category = 'Ordinary-Members'";
$data = $wpdb->get_results($sql);
echo json_encode($data);
}
解决方案
您可以通过在自定义主题或插件中添加添加操作挂钩来在 wordpress 中发送 ajax 调用。下面我给出php和js代码
<?php
add_action('wp_ajax_myAjaxFun', 'myAjaxFun');
add_action('wp_ajax_nopriv_myAjaxFun', 'myAjaxFun');
function myAjaxFun(){
global $wpdb;
$table = $wpdb->prefix .'admin_custom_users';
$sql = "SELECT name FROM $table WHERE member_category = 'Ordinary-Members'";
$data = $wpdb->get_results($sql);
echo json_encode($data);
die();
}
?>
您的 ajax 调用应采用以下格式
$.ajax({
url : baseUrl+"/wp-admin/admin-ajax.php", //baseUrl is wordpress root url
type : 'post',
dataType: "json",
data : {
action:'myAjaxFun',//this is must
data1:'test',
data2:'sample',
//.....
},
success : function( response ) {
console.log(response);
}
});
推荐阅读
- javascript - 对 javascript 数组的变量访问
- javascript - 无法在 WebStorm 上运行带有断点的调试器
- javascript - BokehJS 导入在 React 应用程序中无法正常工作
- python - 如何在python中为ttest_ind创建一个for循环
- javascript - 无法读取待处理的 JavaScript 承诺的值
- reactjs - React - useEffect() 用于声明性状态逻辑时会导致级联渲染
- sql - 什么是单调列?
- html - 如何调整手机浏览器的纵横比
- swift - Swift - 类型''不符合协议'Hashable'
- javascript - 如何将 Nuxt.js 与 socket.io/socket.io.-client 一起使用?