我是AJAX和PHP的新手。我目前正面临调用jQuery确认框函数并将数据插入数据库的问题。当我点击提交按钮时,ajax应该在jquery中调用确认框功能,然后当用户单击“是”时,只将数据插入到数据库中。 (数据包含文本字段和图像文件上载)。但是当我点击提交按钮时,它会立即引导我到bannerItem.php,这是错误的。
这是我用来调用确认框功能并运行php代码的AJAX代码:
//File and text upload with formDATA function
$("form#form").confirm(function(){
var formData = new FormData($(this)[0]);
confirm: function(){
$.ajax({
url:'bannerItem.php',
type: 'POST',
data: formData,
async: false,
success: function (data) {
if(!alert('Banner Had Successfully Updated.')){location.reload();}
},
cache: false,
contentType: false,
processData: false
});
return false;
}
});
这是bannerItem.php代码:
<?php
include 'dbConnection.php';
global $dbLink;
$target_file = basename($_FILES['uploaded_file']['name']);
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
//Check image file type
//Gather all required data
$item_id = $dbLink->real_escape_string($_POST['banner_id']);
$name = $dbLink->real_escape_string($_POST['bannerName']);
$data = $dbLink->real_escape_string(file_get_contents($_FILES['uploaded_file']['tmp_name']));
if(!isset($mydata) || $mystring == null){
//Create the SQL query
$query = "UPDATE banner_item SET banner_name='$name', banner_created=NOW() WHERE banner_item_id = '$item_id' ";
//$query = "INSERT INTO banner_item (banner_item_id, banner_name,banner_data,banner_created) VALUES ('{$item_id}','{$name}','{$data}', NOW())";
}
else if($name==''){
//Create the SQL query
$query = "UPDATE banner_item SET banner_data='$data', banner_created=NOW() WHERE banner_item_id = '$item_id' ";
//$query = "INSERT INTO banner_item (banner_item_id, banner_name,banner_data,banner_created) VALUES ('{$item_id}','{$name}','{$data}', NOW())";
}
else{
//Create the SQL query
$query = "UPDATE banner_item SET banner_name='$name', banner_data='$data', banner_created=NOW() WHERE banner_item_id = '$item_id' ";
//$query = "INSERT INTO banner_item (banner_item_id, banner_name,banner_data,banner_created) VALUES ('{$item_id}','{$name}','{$data}', NOW())";
}
// Close the mysql connection
$dbLink->close();
?>
以下是我用于提交表单的代码:
<!--Banner Item No 1 Start-->
<div class="box box-primary1" id="no1" style="display:none;">
<div class="box-header">
<h3 class="box-title">Edit Banner Image No.1 <small>编辑器</small></h3>
</div>
<div class="box-body">
<form id="form" action="bannerItem.php" method="POST" enctype="multipart/form-data">
<div class="box-body">
<input type="hidden" name="banner_id" value="1"></input>
<div class="form-group" >
<label for="bannerName">Banner Name 旗帜名称</label>
<input type="text" class="form-control" name="bannerName" id="bannerName" placeholder="Please Enter Name" onChange="checkDisabled(testing);">
</div>
<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" id="uploaded_file" name="uploaded_file" onChange="checkDisabled(testing);"><br>
<p class="help-block">Your picture size not more than 2MB. (Only JPEG/JPG/PNG is allowed)</p>
</div>
<div class="checkbox">
<button id="testing" type="submit" class="btn btn-primary" disabled>Update</button>
</div>
</div><!-- /.box-body -->
</form> <!-- Date range -->
<!-- /.form group -->
<!-- Date and time range -->
<!-- /.form group -->
<!-- Date and time range -->
<!-- /.form group -->
</div><!-- /.box-body -->
</div><!-- /.box -->
<!--Banner Item No 1 End-->
我不确定我在ajax代码上做错了哪一部分。请指出我的错误,以便我可以改变,谢谢和美好的一天:)