Arrays WP:访问$wpdb关联数组并用json发送
我正在开发一个AJAX会话,它(成功地)调用了一个PHP函数:Arrays WP:访问$wpdb关联数组并用json发送,arrays,wordpress,associative,Arrays,Wordpress,Associative,我正在开发一个AJAX会话,它(成功地)调用了一个PHP函数: $coordList = WM_Db_Cantine_Speaker::get_lat_lng(); 静态方法get_lat_lng()使用$wpdb查询数据库并返回关联数组。通过var_dump,我得到了以下结构: array(2) { [0]=> array(2) { ["latitudine"]=> string(9) "45.340245" ["longitudine"]=> st
$coordList = WM_Db_Cantine_Speaker::get_lat_lng();
静态方法get_lat_lng()使用$wpdb查询数据库并返回关联数组。通过var_dump,我得到了以下结构:
array(2) {
[0]=> array(2) {
["latitudine"]=> string(9) "45.340245"
["longitudine"]=> string(9) "11.648950"
}
[1]=> array(2) {
["latitudine"]=> string(9) "45.328472"
["longitudine"]=> string(9) "11.715512"
}
}
这是全部代码:
function get_coordinates(){
var coordinate;
jQuery(document).ready( function(){
jQuery.ajax({
type : "post",
dataType : "json",
url : wmAjaxObj.ajaxurl,
data : { action : "wm_get_lat_lng" /*, imageID : attachment.id */ }, /* imageID verrà passato a PHP con $_POST['imageID'] */
success : function(response){
if( response.type == "success" ){
coordinate = response.coordList;
}//if
else{
alert('AJAX error');
}//else
}//success
}); //ajax
} );
return coordinate;
}//get_coordinates
function wm_get_lat_lng(){
//get an associative array of coordinates
$coordList = WM_Db_Cantine_Speaker::get_lat_lng();
echo json_encode(array(
'type' => 'success',
'coordList' => $coordList
), JSON_PRETTY_PRINT);
die(0);
}//wm_get_lat_lng
add_action('wp_ajax_wm_get_lat_lng', 'wm_get_lat_lng');
如何获取每个元素的“latitudine”和“longitudine”值
在AJAX调用之后,如何使用json进行jQuery管理来发送它?
非常感谢您AJAX调用以及我需要数组的地方,在不同的文件中。
我决定将AJAX调用放在需要数组的同一个文件上。您已经在javascript中注册了回调吗?我编辑了这篇文章,以便您可以看到整个代码。谢谢,乍一看是对的。你到底在哪里卡住了?你从js中的回调中得到回报了吗?请记住,回调仅在仪表板中可用,否则您需要另外添加:
add_action('wp_ajax_nopriv_wm_get_lat_lng'、'wm_get_lat_lng')代码>我刚才面临的问题是将数组从get_coordinates()获取到另一个javascript字段(一个模板页面。我尝试传递不同的数据,它可以工作),因此get_coordinates()返回数据,但您不能在另一个作用域中访问它(例如内联js)?您可以尝试通过在函数定义之外启动变量,使坐标变量成为全局变量:变量坐标;函数get_coordinates(){…}