php - 在 ajax 数组中使用 jQuery .serialize() 将 PHP $_POST 作为变量传递?

标签 php jquery serialization

这是我用来将表单详细信息发送到 php 函数的 jQuery 代码:

jQuery(document).ready(function($) {    
    jQuery('.submit').click(function(){
        var str = $("#ajaxForms").serialize();
        var data = {
            action: 'myajax-submit',
            serialize: str,
            beforeSend: function(){
                alert('Sending...');
            }
        };  
        jQuery.post(MyAjax.ajaxurl, data,  function(response) {
            alert('Got this from the server: ' + response);
        });
        return false;   
    });
});

这是 php 函数:

function myajax_submit() {
    $whatever = $_POST['serialize'];
    echo $whatever;
    die(); 
}

一切正常,但是当警告框出现时,文本显示来 self 的 html 表单的一串值 #ajaxForms .我相信这是因为 php 函数回显了 $_POST['serialize'] .

在我的表单中,我有一个输入框,例如:

<input id="postID" name="postID" value="First Name" type="text" />

但是当我尝试回显 $_POST['postID'] 时php 中的变量它不会在警告框中显示任何内容。

我想通过将序列化的表单数据发送到 php 函数,我可以使用与表单输入关联的 $_POST 变量?

感谢帮助。 :)

最佳答案

通过使用 jQuery 的序列化序列化表单输入,您可以创建如下字符串:

a=1&b=2&c=3&d=4&e=5&postID=10

为了获得 postId,您需要反序列化 $_POST['serialize']。为此,您应该执行以下操作:

parse_str($_POST['serialize'], $whatever);

现在 $whatever['postID'] 就是您要搜索的内容。

编辑:修复 parse_str() :)

关于php - 在 ajax 数组中使用 jQuery .serialize() 将 PHP $_POST 作为变量传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917622/

相关文章:

javascript - 井字游戏不起作用

jquery - 在 jQuery UI 对话框确认框中使用验证码

c# - 序列化一个 BigInteger

java - JSON反序列化失败? (servlet->applet 通信)

.net - 什么是对象图以及如何序列化对象图

javascript - Jquery onchange 不起作用

php - 如何在javascript中调用$_SESSION

php - 未选择数据库

php - 当变量存在时ajax下拉框

javascript - 舍入 Json 对象的所有对象中的小数值