求助!如何使用AJAX异步提交方法

这是前端,求大大帮我看看我的ajax代码使用哪里出错了,最好给出详细代码

 <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script>

function getZhi(){
var name = $("#name").val();
var place = $("#place").val();
var method =  $("#method").val();
var number =  $("#number").val();
var s = "来到" + place + name + "工地,现场" + method + ",拍照取证。" + "//六组/六组巡查照片/" + place + "/" + name + "/"+ number;
alert(s);
}

$.ajax({
url : "intoA.php",
type : "post",   //提交方式get/post
data : {date1:number,date2:s},   //提交后台参数var data = ""
dataType : "json",   //数据类型json
success:function(s){
后台成功返回的数据
}
});

</script>



<form class="contact_form" action="intoA.php" method="post" name="contact_form"><!--"#"用来

填处理表单数据的php文件-->
<ul>


 <li>
姓名:<select size="1" input type="name" id="name">
<option></option>
<option>姚锦堂</option>
<option>姚钿深</option>
<option>姚换章</option>
<option>姚淦强</option>
<option>姚灿伦</option>
<option>姚志坤</option>
<option>姚福全</option>
<option>姚满权</option>
<option>姚志良</option>
<option>姚月培</option>
<option>姚惠全</option>
<option>姚桂祥</option>
<option>姚桥旺</option>
<option>刘见华</option>
<option>刘天伟</option>
<option>刘涌旺</option>
<option>潘成泰</option>
<option>潘国平</option>
<option>潘庆堂</option>
<option>张煜新</option>
<option>杨道庭</option>
<option>黄庆培</option>
<option>曾德联</option>
<option>陈仲汝</option>
<option>李满堂</option>
<option>企石中学</option>
<option>东平村委会</option>
<option>第七中学对面</option>
<option>东莞市钜辉建设工程有限公司</option>
</select>
</li>

<li>
地址:<select size="1" input type="place" id="place">
<option></option>
<option>东山村</option>
<option>清湖村</option>
<option>新南村</option>
<option>上截村</option>
<option>下截村</option>
<option>东平村</option>
<option>上洞村</option>
<option>南坑村</option>
<option>霞朗村</option>
<option>铁炉坑村</option>
</select>
</li>

<li>
处理:<select size="1" input type="method" id="method">
<option></option>
<option>无工人作业</option>
<option>有1名工人作业,进行驱赶</option>
<option>有3名工人作业,进行驱赶</option>
<option>有5名工人作业,进行驱赶</option>
<option>有7名工人作业,进行驱赶</option>
<option>有12名工人作业,进行驱赶</option>
<option>有14名工人作业,进行驱赶</option>
<option>有16名工人作业,进行驱赶</option>
<option>有18名工人作业,进行驱赶</option>
<option>对工地进行勘验,制作笔录,下发了责令限期整改通知书(东综管责字[2017]第31-00000号)</option>
</select>
</li>


        <li>
            <label for="number">日期</label>
            <input id="number" name="number">
        </li>

<li>
<button class="submit" type="submit">提交</button>
</li>
   </ul>
</form>
</body>
</html>

这是后台php用于提交到数据库

<?php
$servername = "localhost";
$username = "root";
$password = "yy6788402";
$dbname = "A";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$date1 = $_POST['date1'];
$date2 = $_POST['date2'];

$sql = "INSERT INTO B SET message='$date2', date='$date1'";

if ($conn->query($sql) === TRUE) {
    echo "提交成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

发生错误!

 $date1 = $_POST['date1'];
$date2 = $_POST['date2'];

data1和data2不该用=号赋值吗??我也是刚学到,不知道对不对,你试一下

=赋值,&连接吗不是

图片说明

插入数据库时date值不对,确认一下值

你没打双引号

php提示undefined index的几种解决方法

date1 date2应该打上双引号吧 冒号后面的数据根据你的数据类型再决定加不加引号

代码在这里

    $.ajax({
        url: "${ctx}/ticket/flight/save",
        type: 'post', 
        dataType: 'json',
        data: {
        "id":id,
        "flightName":flightName,
        "startTime":startTime,
        "amount":amount,
        "state":state,
        "routeId":routeId,
        "priceMapping":priceMapping
        },
        success:function(response){
            if(response==null){
                alert("请求成功,返回对象null!");
            }
            else{
                alert(response.message);
                if(null!=response.url && ""!=response.url){
                    window.location.href=response.url;
                }
            }
        },
            error:function(){
             alert("请求失败!");
            }
     });
    $.ajax({
        url: "请求地址",
        type: 'post', 
        dataType: 'json',
        data: {
     "参数名称":参数,
        "参数名称":参数,
        "参数名称":参数
        },
        success:function(response){
            if(response==null){
                alert("请求成功,返回对象null!");
            }
            else{
                alert(response.message);
                if(null!=response.url && ""!=response.url){
                    window.location.href=response.url;
                }
            }
        },
            error:function(){
             alert("请求失败!");
            }
     });

你的date1是这个,你确认这个输入的是日期,你看下数据库是什么类型的,可能是你没格式化成数据库能接受的格式。

  <input id="number" name="number">

另外,你可以打开f12看看network,点一下提交,看看发送的数据是不是对的。

data1和data2不该用=号赋值吗??我也是刚学到,不知道对不对,你试一下

var params = {};
params.number = $("#number).val();
params.s = s;

//data直接传params
data:params,

php直接通过number 和s获取

<input id="number" name="number"

确认这个输入的是日期,你看下数据库是什么类型的,可能是你没格式化成数据库能接受的格式。

function getZhi(){ var name = $("#name").val(); var place = $("#place").val(); var method = $("#method").val(); var number = $("#number").val(); var s = "来到" + place + name + "工地,现场" + method + ",拍照取证。" + "//六组/六组巡查照片/" + place + "/" + name + "/"+ number; $.ajax({ url : "intoA.php", type : "post", //提交方式get/post data : {date1:number,date2:name}, //提交后台参数var data = "" dataType : "text", //数据类型json success:function(s){ alert(s); } }); }
  • 姓名:姚锦堂姚钿深姚换章姚淦强姚灿伦姚志坤姚福全姚满权姚志良姚月培姚惠全姚桂祥姚桥旺刘见华刘天伟刘涌旺潘成泰潘国平潘庆堂张煜新杨道庭黄庆培曾德联陈仲汝李满堂企石中学东平村委会第七中学对面东莞市钜辉建设工程有限公司
  • 地址:东山村清湖村新南村上截村下截村东平村上洞村南坑村霞朗村铁炉坑村
  • 处理:无工人作业有1名工人作业,进行驱赶有3名工人作业,进行驱赶有5名工人作业,进行驱赶有7名工人作业,进行驱赶有12名工人作业,进行驱赶有14名工人作业,进行驱赶有16名工人作业,进行驱赶有18名工人作业,进行驱赶对工地进行勘验,制作笔录,下发了责令限期整改通知书(东综管责字[2017]第31-00000号)
  • 日期
  • 提交

提交
如果你用的这个提交按钮的话,估计你这个就有点问题。
如果你想提交form里的数据,又想用ajax,我建议使用formData.
这个button的type别设置了,直接设置它的点击事件的方法就行

你的sql语句写错了···
语法是:

insert into b(message,date) values('$date2','$date1')

var a=$("#posiont").val();
$.ajax({
type:"post",
dataType:"json",
url:"/HH/house_ajaxW",
data:{"id":a},
success:function aa(data){
$("#jd").empty();
$("#jd").append("请选择");
$.each(data,function(i,n){
if(n!=null){
$("#jd").append(""+n.name+"");
}
});
},
error:function(){
alert("有毒!");
}
});

 function getZhi(){
        var name = $("#name").val();
        var place = $("#place").val();
        var method =  $("#method").val();
        var number =  $("#number").val();
        var s = "来到" + place + name + "工地,现场" + method + ",拍照取证。" + "//六组/六组巡查照片/" + place + "/" + name + "/"+ number;
        alert(s);

        var data = {
            "date1":number,
            "date2":s
        }

        $.ajax({
            url : "intoA.php",
            type : "post",   //提交方式get/post
            data : data,   //提交后台参数var data = ""
            dataType : "json",   //数据类型json
            success:function(s){
                后台成功返回的数据
            }
        });
    }

你ajax好像写错了

$date1 = $_POST['date1']; 做判断,如果直接访问,则为空,如果是从前台传值过来则接前台传过来的值
$date2 = $_POST['date2']; 同上

...ajax默认就是异步提交,我不明白你要问的点在哪里?