我需要使用ajax和FormData类将数据插入MySql数据库表中。通过使用jquery为许多<input>
声明许多变量,然后将这些变量放入if-else语法中进行检查,可以轻松解决此问题。但是我需要使用FormData
类JavaScript,然后将代码分布在3个文件中:
action_project.php
<?php
require_once("../config.php");
include(CLASSES_PATH.DS.'project.php');
$objProject = new Project();
if(isset($_POST)) {
$product = isset($_POST['product'])?$_POST['product']:'';
$customer = isset($_POST['cutomer'])?$_POST['cutomer']:'';
echo $objProject->AddProject($customer,$product);
?>
project.php
class Project
{
private $mysqli_lib;
function __construct()
{
global $obj_mysql;
$this->mysqli_lib = $obj_mysql;
}
function AddProject($customer,$product)
{
$query = "INSERT INTO tbl_project_detail(customer,product) VALUES ('$customer','$product')";
$response = $this->mysqli_lib->insert($query);
return $response > 0 ? "success" : "fail";
}
}
project_view.php (为清楚起见,我删除了一些html元素标签)
<form method="post" class="form-horizontal" id="fieldsform" enctype="multipart/form-data" action="" style="clear:both">
<input type="text" class="form-control" name="product" value="product"
id="product">
<input type="text" class="form-control" name="customer" value="customer"
id="product">
<button type="submit" class="btn btn-primary" name="btnQuoSave" id
="btnQuoSave">Save</button>
</form>
<script type="text/javascript">
$(document).ready(function() {
$(document).on('click', '#btnQuoSave', function () {
var formdata = new FormData($('#fieldsform')); //I need to figure out this line of code to work, i think.
$.ajax({
type: "POST",
url: "../includes/ajax/action_project.php",
async: true,
contentType: false,
processData: false,
cache: false,
data: formdata,
success: function(data){
data = data.trim();
//console.log(data);
//alert(data);
if(data == 'success'){
alert('sucess');
}else if(data == 'fail'){
alert('fail');
}
}
});
});
});
所以我的任务是如何使用ajax和FormData类将数据插入MySql数据库表中?