-1

我在我的一个插件中使用了 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 环境中访问nametel作为 POST 变量,或者这是不可能的,我必须在 js 文件中创建名称和电话作为值并且必须离开serialize()函数?

如果有人以前有过这种经历并可以分享解决方案,那就太好了。谢谢!

4

2 回答 2

5

感谢 VukBG - 对于我的例子来说不是parse_urlparse_str足够了:

    parse_str($_POST['value'], $my_array_of_vars);
    print_r($my_array_of_vars);
于 2013-09-04T19:15:58.993 回答
0

尝试parse_url()函数。我认为这就是你要找的。

您还可以在此处查看此功能的一个很好的示例

于 2013-09-04T19:02:18.990 回答