我希望你能帮助我。我使用Json将数据从php发送到Javascript。
PHP
add_action(\'wp_ajax_myfilter\', \'evenements_filter_function\');
add_action(\'wp_ajax_nopriv_myfilter\', \'evenements_filter_function\');
function evenements_filter_function(){
....
$arrayTest[] = array(
\'name\' =>$name,
\'address\' => $address,
);
$my_json_str_test = json_encode($arrayTest);
$params = array(
\'data\' => $my_json_str_test
);
wp_send_json($params);
}
javaScript
$(\'#filter_evenement\').submit(function(){
jQuery.ajax({
url:ajaxurl,
dataType: \'json\',
data :"&action=myfilter",
type:"GET",
success:function(data){console.log(data);
var dataArray = jQuery.parseJSON(data);//parse JSON
},
fail: function( jqXHR, textStatus, errorThrown ) {
}
});
});
当我提交表单时,我的Json值总是相同的。是否无法更新json数据?我只能发送一次?因为我试图在其他和json数据未更新之后添加另一个wp\\u send\\u json($数组)。如何更新json数据发送?
谢谢你:)
SO网友:Tony M
您不需要在AJAX调用中指定数据类型。此外,WP处理AJAX的方式有点不同,主要是:
$(\'#filter_evenement\').submit(function(){
jQuery.ajax({
url:ajaxurl,
type:"POST",
data : {action: "evenements_filter_function", val1: "value1", val2: "values2"},
success:function(data){console.log(data);
var dataArray = jQuery.parseJSON(data);//parse JSON
},
fail: function( jqXHR, textStatus, errorThrown ) {
}
});
});
数据必须包含
action
它指定了后端中的WP AJAX处理程序函数。您还可以在此处传递需要发送的所有值(例如
val1, val2
) 你的
evenements_filter_function()
没有利用来自AJAX调用的任何数据,它只是发送一个响应。但要访问您要检查的值
$_POST[\'val1\']
.