2014-03-18 51 views
1

我想使用jQuery ajax方法來處理表單。在我調用的php腳本(myScript.php)中,我想使用通過在PHP腳本中提交表單設置的GET值,但它沒有正確傳遞。使用jQuery ajax方法傳遞GET參數

<script> 
$('#myForm').submit(function(event) { 
     event.preventDefault(); 
     $.ajax ({ 
      url: "myScript.php", 
      success: function (data) { 
       console.log(data); 
      } 
     }); 
    }); 
</script> 

我的形式有一個字段(用戶名):

<form id='myForm' action="" method="get"> 
    Username: <input type="text" id="username" name="username" value="" /> 
    <button id='submitButton' name="">Search</button> 
<form> 

最後,我的PHP腳本將只返回後面的get值。

<?php 
$returnString = array(); 
$returnString['username'] = $_GET['username']; 
echo json_encode($returnString); 
?> 

控制檯回報: {「用戶名」:空}無論什麼珍惜你在輸入框中輸入。

+0

你沒有將任何數據*傳遞給你的AJAX請求。 – Blazemonger

+1

您必須使用**。ajax()**方法的** data **屬性發送用戶提交的數據。搜索stackoverflow,有很多答案。 – pmandell

回答

1

您只需要serialize表格數據:

$('#myForm').submit(function(event) { 
    event.preventDefault(); 

    var formData = $(this).serialize(); 

    $.ajax ({ 
     url: "myScript.php", 
     data: formData, 
     success: function (data) { 
      console.log(data); 
     } 
    }); 
}); 

data屬性中的任何內容都會根據規範附加到URL的末尾。