不能通过ajax形式插入表中

时间:2016-12-02 10:11:45

标签: php mysql ajax database forms

我有这个代码,并且测试两个值插入到mysql数据库时,它只是不插入任何东西。我混淆了值还是我的代码中有错误?使用wamp服务器。发生以下错误;

Undefined index: name in C:\wamp\www\info.php on line 3  
Undefined index: desc in C:\wamp\www\info.php on line 4  

但我尝试玩这些价值而无法理解。

的index.html

   <html>
<head><title></title></head>
<body>

<form id="myForm" action="userInfo.php" method="post">
Name: <input type="text" name="name" /><br />
Age : <input type="text" name="age" /><br />
<button id="sub">Save</button>
</form>

<span id="result"></span>

<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="my_script.js" type="text/javascript"></script>
</body>
</html>

userinfo.php

    <?php
         include_once('db.php');

        $name = $_POST['name'];
        $age = $_POST['age'];                  
        if(mysql_query("INSERT INTO user VALUES('$name', '$age')"))
          echo "Successfully Inserted";
        else
          echo "Insertion Failed";
?>

myscript部分

$("#sub").click( function() {
 $.post( $("#myForm").attr("action"),
         $("#myForm :input").serializeArray(),
         function(info){ $("#result").html(info);
  });
});
$("#myForm").submit( function() {
  return false;
});

function clearInput() {
    $("#myForm :input").each( function() {
       $(this).val('');
    });
}  

更新:仍无法修复。得到错误:

 Notice: Undefined index: name in C:\wamp\www\userInfo.php on line 4

Notice: Undefined index: age in C:\wamp\www\userInfo.php on line 5
Insertion Failed

1 个答案:

答案 0 :(得分:-1)

你能分享一下你正在使用的javascript代码吗?没有看到ajax调用就很难提供帮助。

我的两分钱将使用firebug或本地浏览器网络流量监视器来检查发送到服务器的标头。您希望确保在运行ajax请求时传递所有帖子参数。

另外,请确保您的ajax请求属于POST类型,并且您正在填写$ .post调用的数据字段,例如:

$.post('url_here', { "name": "form_name_value here", "desc" : "desc_for_value_here" })

<强>更新 对于serializeArray目标只有表单元素: https://api.jquery.com/serializeArray/

喜欢:

$("#myForm").serializeArray()