我在我的一个插件中使用了 wordpress 内置的 ajax 实现,如下所示:
jQuery('#form_data_voting').submit(function() {
jQuery.post(
ajax_object.ajax_url,
{
action : 'voting_save',
value : jQuery('#form_data_voting').serialize(),
},
function(data) {
alert(data);
}
);//get
});
PHP中的函数如下所示:
add_action('wp_ajax_voting_save', function () {
var_dump($_POST['value']);
die();
});//wp_ajax_voting_save
然后我在转储中看到所有相关字段都在一个字符串中 - 这要归功于 serialize() 函数。但这里的问题是,它存储在“值”变量后面,我无法将其取出。字符串如下所示:name=testname&tel=3883838
. 我无法通过:$_POST['name']
或$_POST['value']['name']
.
我如何在 wordpress ajax 环境中访问name
和tel
作为 POST 变量,或者这是不可能的,我必须在 js 文件中创建名称和电话作为值并且必须离开serialize()
函数?
如果有人以前有过这种经历并可以分享解决方案,那就太好了。谢谢!