javascript - 无法通过ajax提交数据

标签 javascript php jquery mysql ajax

我正在尝试使用 PHP 和 ajax 将数据提交到 MySQL 数据库,但它没有提交数据,当我尝试使用默认页面重新加载方法提交数据时,它正在提交数据,可能是我的 ajax 代码中存在一些问题。请在这方面指导我。

HTML 代码:

<form method="POST" id="custForm" class="addcustform">
                        <div class="header">
                            <h2>
                                <strong>ADD CUSTOMER</strong>
                                <span class="pull-right sys-id">System ID - <input type="text" name="sys_id_input" class="sys_id_input" /></span>
                            </h2>
                        </div>
                        <div class="body">
                            <h2 class="card-inside-title">Personal Detials</h2>
                            <div class="row clearfix">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Customer Name</label>
                                        <div class="form-line">
                                            <input type="text" name="cust_name" class="form-control" />
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Email</label>
                                        <div class="form-line">
                                            <input type="email" name="cust_email" class="form-control" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row clearfix">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Mobile Number</label>
                                        <div class="form-line">
                                            <input type="text" name="cust_mobile" class="form-control mobile-phone-number">
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Address</label>
                                        <div class="form-line">
                                            <input type="text" name="cust_address" class="form-control" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row clearfix">
                                <div class="col-sm-6">
                                    <label>Visa Type</label>
                                    <div class="btn-group bootstrap-select form-control show-tick select-dropdown-trick-container">
                                        <button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" title="-- Please select --">
                                            <span class="filter-option pull-left select-dropdown-trick-text">-- Please select --</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span>
                                            <input type="hidden" class="dropdown-input" name="cust_visa" />
                                        </button>
                                        <div class="dropdown-menu open">
                                            <ul class="dropdown-menu inner select-dropdown-trick" role="menu">
                                                <li data-original-index="0" class="selected">
                                                    <a tabindex="0" class="" style="" data-tokens="null">
                                                        <span class="text">-- Please select --</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                    </a>
                                                </li>
                                                <li data-original-index="1">
                                                    <a tabindex="0" class="" style="" data-tokens="null">
                                                        <span class="text">Visit Visa</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                    </a>
                                                </li>
                                                <li data-original-index="2">
                                                    <a tabindex="0" class="" style="" data-tokens="null">
                                                        <span class="text">Residental Visa</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Nationality</label>
                                        <div class="btn-group bootstrap-select form-control show-tick select-dropdown-trick-container">
                                            <button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" title="-- Please select --">
                                                <span class="filter-option pull-left select-dropdown-trick-text">-- Please select --</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span>
                                                <input type="hidden" class="dropdown-input" name="cust_nationality" />
                                            </button>
                                            <div class="dropdown-menu open large-list-short">
                                                <ul class="dropdown-menu inner select-dropdown-trick" role="menu">
                                                    <?php include 'country_list.php'; ?>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <h2 class="card-inside-title">Car Detials</h2>
                            <div class="row clearfix">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Car Modal</label>
                                        <div class="btn-group bootstrap-select form-control show-tick select-dropdown-trick-container">
                                            <button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" title="-- Please select --">
                                                <span class="filter-option pull-left select-dropdown-trick-text">-- Please select --</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span>
                                                <input type="hidden" class="dropdown-input" name="cust_cars" />
                                            </button>
                                            <div class="dropdown-menu open large-list-short">
                                                <ul class="dropdown-menu inner select-dropdown-trick" role="menu">
                                                    <?php include 'cars_list.php'; ?>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Car Color</label>
                                        <div class="btn-group bootstrap-select form-control show-tick select-dropdown-trick-container">
                                            <button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" title="-- Please select --">
                                                <span class="filter-option pull-left select-dropdown-trick-text">-- Please select --</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span>
                                                <input type="hidden" class="dropdown-input" name="car_color" />
                                            </button>
                                            <div class="dropdown-menu open">
                                                <ul class="dropdown-menu inner select-dropdown-trick" role="menu">
                                                    <li data-original-index="0" class="selected">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">-- Please select --</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                    <li data-original-index="1">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">White</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                    <li data-original-index="2">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">Black</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                    <li data-original-index="2">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">Silver</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                    <li data-original-index="2">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">Blue</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                    <li data-original-index="2">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">Red</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                    <li data-original-index="2">
                                                        <a tabindex="0" class="" style="" data-tokens="null">
                                                            <span class="text">Brown</span><span class="glyphicon glyphicon-ok check-mark"></span>
                                                        </a>
                                                    </li>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Plate Number</label>
                                        <div class="form-line">
                                            <input type="text" name="plate_number" class="form-control plate-input" />
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Start KM</label>
                                        <div class="form-line">
                                            <input type="text" name="start_km" class="form-control" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <h2 class="card-inside-title">Rental Detials</h2>
                            <div class="row clearfix">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Start Date</label>
                                        <div class="form-line">
                                            <input type="text" name="start_date" class="form-control date-input" />
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>End Date</label>
                                        <div class="form-line">
                                            <input type="text" name="end_date" class="form-control date-input" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row clearfix">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Rental Amount</label>
                                        <div class="form-line">
                                            <input type="text" name="rental_amount" class="form-control" />
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Security Amount</label>
                                        <div class="form-line">
                                            <input type="text" name="scurity_amount" class="form-control" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                             <div class="row clearfix">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Rental Company</label>
                                        <div class="btn-group bootstrap-select form-control show-tick select-dropdown-trick-container">
                                            <button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" title="-- Please select --">
                                                <span class="filter-option pull-left select-dropdown-trick-text">-- Please select --</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span>
                                                <input type="hidden" class="dropdown-input" name="rental_company" />
                                            </button>
                                            <div class="dropdown-menu open large-list-short">
                                                <ul class="dropdown-menu inner select-dropdown-trick" role="menu">
                                                    <?php include 'rental_company_list.php'; ?>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row clearfix">
                                <div class="col-sm-2">
                                    <div class="form-group">
                                        <button class="btn bg-red btn-block btn-lg waves-effect btn-addcust" name="btn-addcust" type="submit">Save Details</button>
                                    </div>
                                </div>
                            </div>
                        </div>
                    <form>

PHP 代码:

if(isset($_POST['btn-addcust'])) {
  # code...
  $sys_id_input = $_POST['sys_id_input'];
  $cust_name = $_POST['cust_name'];
  $cust_email = $_POST['cust_email'];
  $cust_mobile = $_POST['cust_mobile'];
  $cust_address = $_POST['cust_address'];
  $cust_visa = $_POST['cust_visa'];
  $cust_nationality = $_POST['cust_nationality'];
  $cust_cars = $_POST['cust_cars'];
  $car_color = $_POST['car_color'];
  $plate_number = $_POST['plate_number'];
  $start_km = $_POST['start_km'];
  $start_date = $_POST['start_date'];
  $end_date = $_POST['end_date'];
  $rental_amount = $_POST['rental_amount'];
  $scurity_amount = $_POST['scurity_amount'];
  $rental_company = $_POST['rental_company'];

  $sql = "CREATE TABLE IF NOT EXISTS `$rental_company` (
            id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
            sys_id_input VARCHAR(255) NOT NULL,
            cust_name VARCHAR(255) NOT NULL,
            cust_email VARCHAR(255) NOT NULL,
            cust_mobile VARCHAR(255) NOT NULL,
            cust_address VARCHAR(255) NOT NULL,
            cust_visa VARCHAR(255) NOT NULL,
            cust_nationality VARCHAR(255) NOT NULL,
            cust_cars VARCHAR(255) NOT NULL,
            car_color VARCHAR(255) NOT NULL,
            plate_number VARCHAR(255) NOT NULL,
            start_km VARCHAR(255) NOT NULL,
            start_date VARCHAR(255) NOT NULL,
            end_date VARCHAR(255) NOT NULL,
            rental_amount VARCHAR(255) NOT NULL,
            scurity_amount VARCHAR(255) NOT NULL,
            rental_company VARCHAR(255) NOT NULL
          )";

  $db_con->exec($sql);

  $sql = "INSERT INTO `$rental_company` (sys_id_input, cust_name, cust_email, cust_mobile, cust_address, cust_visa, cust_nationality, cust_cars, car_color, plate_number, start_km, start_date, end_date, rental_amount, scurity_amount, rental_company) VALUES ('$sys_id_input', '$cust_name', '$cust_email', '$cust_mobile', '$cust_address', '$cust_visa', '$cust_nationality', '$cust_cars', '$car_color', '$plate_number', '$start_km', '$start_date', '$end_date', '$rental_amount', '$scurity_amount', '$rental_company')";

  $db_con->exec($sql);

  echo "ok";

}

Ajax 代码:

$('.addcustform').submit(function(){

    var data = $('#custForm').serialize();

    $.ajax({

        type : 'POST',
        url  : '../include/addcust.php',
        data : data,
        beforeSend: function()
        {   
            //$("#alert").fadeOut();
            $(".btn-addcust").html('Saving ...');
        },
        success : function(response)
        {                        
            if(response=="ok"){
                setTimeout( function(){ 
                    // Do something after 1 second 
                    $(".btn-addcust").html('Success');
                }  , 1000 );
            }
            //alert(data);
        }
    });

    return false;

});

如有任何帮助,我们将不胜感激。谢谢

最佳答案

如果您使用 Chrome,则可以按F12,转到网络,然后提交表单并查看新添加的行,服务器的响应是什么样的(根据您发布的代码应该ok)。也许您将数据提交到了错误的 URL(尝试使用绝对 URL,如 /include/addcust.php)。

您尚未为按钮设置值,因此 jQuery 不会使其生效,并且 PHP 的第一行将导致 false。因此,只需将 value="submit" 添加到您的提交按钮即可。

关于javascript - 无法通过ajax提交数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44156836/

相关文章:

javascript - 本地存储未按预期工作

php - Symfony twig 不刷新我的页面

javascript - 如何使用淡入效果查看archive.org上的网站?

javascript - 在页面加载时水平和垂直居中 DIV

javascript - jQuery Masonry 未正确对齐或填充网格中的图像

javascript - 如何在单击实际调用该函数的按钮时将 javascript 函数的返回值传递给 para 标记?

javascript - 评估 Json - 嵌套的 JSON 路径作为字符串提供

php - 通过 CURL 下载文件时如何使用 CURLOPT_WRITEFUNCTION

php - 在 PHP 中为多变量测试创建配方?

javascript - jQuery/javascript 大写所有文本,不管 id