PHP jQuery Form Submission


PHP jQuery Form Submission

我已经构建了一个简单的表单,我想在不刷新页面的情况下发送它,因此我使用 jQuery。当我提交表单但处理时出现问题.php报告数据未转换,并处理.php打印消息"未收到帖子"。下面是表单文件的代码:

<!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>

这是过程.php代码:

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

你知道jQuery/表单有什么问题吗?欢迎任何建议,谢谢

看起来您的data格式不正确。它应该是一个完整的 JavaScript 对象:

data: '{ data: "' + getField + '"}',

见 http://api.jquery.com/jQuery.ajax/#entry-examples

或者,更方便的是,尝试使用 .serialize() 方法。

data: 'data: ' + getField

这是将要处理的 getField 的值发布.php作为"data",而不是"field",所以你需要得到 $_POST['data'] 的值,尽管将变量命名为"data"通常不是一个好主意。您可能还想查找jQuery post函数,该函数正是针对您正在做的事情而创建的。