[英]How to use the .serialize() method to send form values to PHP via an AJAX request
我正在使用.serialize()
方法来序列化我的表单的值,并在AJAX请求中将它们发送到我的PHP脚本。
我的表格:
<form name="myform" action="" method="post" class="form">
<input type="text" name="one" value="" />
<input type="text" name="two" value="" />
<input type="text" name="three" value="" />
<input type="submit" name="submit" value="Submit" />
</form>
我的AJAX请求:
$( '.form' ).on( 'submit', function( e ) {
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'json',
data: {
'action': $action,
'querystr': $( this ).serialize()
}...
在我的PHP脚本中,我希望能够做这样的事情$one = $_REQUEST['one']
但是当我这样做时, $one
值为null
。
为什么$_REQUEST['one']
包含my form的输入字段的值?
在PHP结束
$params = array();
parse_str($_POST['querystr'], $params);
echo $params['one'];
这都是你的ajax电话。 在'data'属性中,您声明发送到PHP的post字段。 所以在你的代码中:
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'json',
data: {
'action': $action,
'querystr': $( this ).serialize()
}
你宣布
$_POST['action']
,和
$_POST['querystr'].
这就是为什么$ _POST ['one']为空 - 因为它没有发送/定义等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.