使用AJAX解析多个js变量到php

我想将多个变量保存到数据库,但大多数变量都是使用java-script / jquery计算的。 所以我使用.js / ajax和.php这样做,但我这样做是错误的。 这是我的代码示例 –

JS / Jquery-

$(function(){ $("#btn").on('click', function() { var name = $("#myname").val(); var yoursex = $("input[name='gender']:checked").val(); var date = new Date($('#dob').val()); var c_age = calc_age(); var social_age = calcSocialAge(); $.post("insert_data.php", { name: name, sex: yoursex, dob: date, crono_age: c_age, social_age: social_age }, function(data, status){ alert("Data: " + data + "\nStatus: " + status); }); }); }); 

insert_data.php

  

当我应用此代码但得到如下错误 –

数据:已成功连接
注意 :未定义的变量:第4到8行的E:\ xampp \ htdocs \ _ insert_data.php中的 _post

现状:成功

我是AJAX和PHP的新手,请帮助解决这个问题。

$_post不是$_POST全部更改为$_POST ,还会检查值

  $name = isset($_POST['name'])?$_POST['name']:''; $sex = isset($_POST['sex'])?$_POST['sex']:''; $dob = isset($_POST['dob'])?$_POST['dob']:''; $c_age = isset($_POST['crono_age'])?$_POST['crono_age']:''; $s_age = isset($_POST['social_age'])?$_POST['social_age']:''; 

并且date是对象而不是任何字符串值,因为您期望像YmddmY ,它类似于Date 2017-12-23T07:18:08.909Z这里

 var date = new Date($('#dob').val());//be sure about date value 

您没有使用quotes在查询中插入字符串类型值,但我建议插入使用mysqli或pdo。 以下是了解mysqli的一些链接:

mysqli_prepare

mysqli_stmt_bind_param

MySQLi中的准备语句

它可以像使用$_POST['name']而不是$_post['name']吗? 那些超长冰球是区分大小写的。

此外,您应该进行某种错误检查,或检查一个或多个字段是否留空。 isset($_POST['name'])empty($_POST)将帮助你。