【发布时间】:2019-03-13 21:14:12
【问题描述】:
如何在 javascript 中提醒来自 php 的值回显
注意我尝试了警报(数据),但由于 php 中的问题,它在成功时没有给出任何验证
我担心的是,当我尝试进行验证时,即使php中的数据或回显是“Error1”、“Error2”或“Error3”,它也会直接进入其他事情,即使是导入成功也是如此,请帮助..
这是我的ajax
<script>
$(document).ready(function(){
$('#upload_csv').on("submit", function(e){
e.preventDefault(); //form will not submitted
$.ajax({
url:"import.php",
method:"POST",
data:new FormData(this),
contentType:false, // The content type used when sending data to the server.
cache:false, // To unable request pages to be cached
processData:false, // To send DOMDocument or non processed data file it is set to false
success: function(data){
if(data == 'Error1')
{
alert("Error1");
}
else if(data == 'Error2')
{
alert("Error2");
}
else if(data == 'Error3')
{
alert('Error3');
}
else
{
alert('Import Successfull');
$('#employee_table').html(data);
}
}
})
});
});
</script>
这里是php代码
<?php
if(!empty($_FILES["employee_file"]["name"]))
{
$connect = mysqli_connect("localhost", "root", "", "db");
$output = '';
$allowed_ext = array("csv");
$tmp = explode(".", $_FILES["employee_file"]["name"]);
$extension = end($tmp);
if(in_array($extension, $allowed_ext))
{
$file_data = fopen($_FILES["employee_file"]["tmp_name"], 'r');
fgetcsv($file_data);
while($row = fgetcsv($file_data))
{
$try = count($row);
if($try === 6){
$id = mysqli_real_escape_string($connect, $row[0]);
$name = mysqli_real_escape_string($connect, $row[1]);
$address = mysqli_real_escape_string($connect, $row[2]);
$gender = mysqli_real_escape_string($connect, $row[3]);
$designation = mysqli_real_escape_string($connect, $row[4]);
$age = mysqli_real_escape_string($connect, $row[5]);
$query = "
INSERT INTO tbl_employee
(id,name, address, gender, designation, age)
VALUES ('$id','$name', '$address', '$gender', '$designation', '$age')
";
mysqli_query($connect, $query);
}else
{
echo 'Error3';
break;
}
}
echo $output;
}
else
{
echo "Error1";
}
}
else
{
echo "Error2";
}
?>
【问题讨论】:
-
你有没有试过在
if(data == 'Error1')前面加上console.log(data);??? -
是的,但没有帮助
-
@Paladin 我试过但没有帮助
-
您的 while 条件看起来很奇怪。如果你有 6 行,你会得到一个无限循环
-
不是用于文件计数。
标签: javascript php mysql ajax