Nao*_*chi 8 php ajax wordpress wordpress-theming wordpress-plugin
我正在研究儿童主题,my-page-template.php我有:
$id_curr= 5; //calculated value through code
wp_localize_script('my_js', 'ajaxload', array('post_id' => $id_curr));
Run Code Online (Sandbox Code Playgroud)
在my_js.js我有一个AJAX调用:
$.ajax({
//...
type: 'post',
data: {
action: 'ajax_load',
post_id: ajaxload.post_id
}
})
Run Code Online (Sandbox Code Playgroud)
现在functions.php,我想ajaxload.post_id根据新结果编辑/更新.有没有办法做到这一点?如果我尝试wp_localize_script()使用$name下面显示的相同方式重新呼叫,这会有效吗?
$id_new= 8; //new calculated value
wp_localize_script('my_js', 'ajaxload', array('post_id' => $id_new));
Run Code Online (Sandbox Code Playgroud)
经过深入研究,我斗胆回答一下我的问题。
wp_send_json()Wordpress 具有允许发送回 AJAX 请求的响应的功能。该功能可以更新ajaxload.post_id。
在functions.php:
$return = array('post_id' => $id_new);
wp_send_json($return);
Run Code Online (Sandbox Code Playgroud)
在my_js.js:
$.ajax({
type: 'post',
data: {
action: 'ajax_load',
post_id: ajaxload.post_id
},
success:function(data) {
var result = $.parseJSON(data);
ajaxload.post_id = result.post_id;
}
});
Run Code Online (Sandbox Code Playgroud)