[英]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.