这是我用来将表单详细信息发送到 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();
}
一切正常,但是当出现警告框时,文本显示我的 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);
Now on $whatever['postID']
就是您正在寻找的东西。
编辑:修复 parse_str() :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)