Php Wordpress-Ajax和jQuery.serialize-如何访问?
我在我的一个插件中使用wordpress内置ajax实现,如下所示:Php Wordpress-Ajax和jQuery.serialize-如何访问?,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我在我的一个插件中使用wordpress内置ajax实现,如下所示: jQuery('#form_data_voting').submit(function() { jQuery.post( ajax_object.ajax_url, { action : 'voting_save', value : jQuery('#form_data_voting').serial
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()函数。但这里的问题是,它存储在“value”变量后面,而我无法将其取出。字符串如下所示:name=testname&tel=3883838
。我无法通过以下方式访问名称:$\u POST['name']
或$\u POST['value']['name']
如何在wordpress ajax环境中访问作为POST变量的name
和tel
,或者这是不可能的,我必须在js文件中创建name和tel作为值,并且必须将serialize()
退出函数
如果有人以前有过这样的经历并能分享解决方案,那就太好了。谢谢 试试这个功能。我想这就是你要找的
您还可以看到此函数的一个很好的示例谢谢VukBG-对于我的示例,不是
parse\u url
,而是parse\u str
就足够了:
parse_str($_POST['value'], $my_array_of_vars);
print_r($my_array_of_vars);
序列化html表单不会返回url,而是返回字符串。parse_url()将字符串作为参数