2012-08-13 106 views
0

我已經構建了一個簡單的表單,我想在不刷新頁面的情況下發送,因此我使用jQuery。提交表單時出現問題,但process.php報告數據未轉換,並且process.php輸出消息「no post received」。 這裏的表單文件的代碼:PHP jQuery表單提交

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255"> 
<title>Insert title here</title> 
</head> 
<script type="text/javascript"> 
$(function(){ 
     $('#submit').click(function(){ 
      var getField = $("#field").val(); 
      $.ajax({ 
      url: 'process.php' , 
      type: 'POST', 
      data: 'data: ' + getField, 
      success: function(result){  
       $('#container').text('<p>' + result + '</p>')  
      } 
      }); 
      return false;  
     }); 
    }); 
</script> 

<body> 

<div id="container"> 
<form method="post" action="process.php"> 
<input name="field" id="field" type="text" /> 
<input type="submit" value="submit" id="submit" /> 
</form> 
</div> 

</body> 
</html> 

這裏的process.php代碼:

<?php 
if($_POST){ 
    echo $_POST['field']; 
} 
else 
    echo "no post received"; 
?> 

你有什麼想法,有什麼錯了jQuery /形式? 歡迎任何建議, 謝謝

回答

0
data: 'data: ' + getField 

這是張貼getfield命令的值process.php「數據」,而不是「場」,所以你需要得到的$ _POST值[「數據」],儘管變量命名「數據」通常不是一個好主意。你可能也想看看jQuery post函數,這個函數就是你正在做的。