使用Ajax和PHP导入csv将csv导入mysql,而不是上载文件
我有以下几页 index.php importdata.php 我正在尝试使用ajax将csv文件导入MySql 我在网上使用了一些示例,但仍然不起作用 index.php 开头的脚本文件:使用Ajax和PHP导入csv将csv导入mysql,而不是上载文件,php,mysql,ajax,Php,Mysql,Ajax,我有以下几页 index.php importdata.php 我正在尝试使用ajax将csv文件导入MySql 我在网上使用了一些示例,但仍然不起作用 index.php 开头的脚本文件: $(document).ready(function(){ $("#but_import").click(function() { var formData = new FormData($("#import_form")); $.ajax({
$(document).ready(function(){
$("#but_import").click(function() {
var formData = new FormData($("#import_form"));
$.ajax({
url:"importData.php",
data:formData,
type:'POST',
success:function(response)
{
var resp = $.trim(response);
$("#output").html(resp);
}else[
$("#output").html("Error");
});
});
});
脚本后面的HTML:
<html>
<head>
<title>Import CSV file data to the MySQL using PHP</title>
</head>
<body>
<form id="import_form" method="post" action="" enctype="multipart/form-data" >
<table width="100%">
<tr>
<td style="width: 58px">
<input type='file' name="score_file" id="score_file">
</td>
</tr>
<tr>
<td colspan="2" >
<input type="button" id="but_import" name="but_import" value="Import File"></td>
</tr>
</table>
</form>
<table style="width: 100%">
<tr>
<td id="output"> </td>
</tr>
</table>
</body>
它产生了什么错误 还要看importdata.php的拼写
在ajax中,您有url:importData.php,但一开始您说您有importData.php。我现在通过以下操作获得发布的信息
$(document).ready(function() {
$("#but_import").click(function() {
var formData = new FormData($('score_file')[0]);
alert(formData);
$.ajax({
url: 'importData.php',
data: formData,
type: 'POST',
contentType: false,
processData: false,
success:function(response) {
var resp = $.trim(response);
$("#message").html("yes");
}
});
});
});
php表单上的Bit现在接收到以下错误
未定义索引:第6行importData.php中的score_文件
这是html文件中的输入框
<form id="import_form" name ="import_form" method="post" action="post" enctype="multipart/form-data" >
<table width="100%">
<tr>
<td style="width: 58px">
<input type='file' name="score_file" id="score_file">
</td>
</tr>
<tr>
<td colspan="2" >
<input type="button" id="but_import" name="but_import" value="Import File"></td>
</tr>
</table>
</form>
错误在第二行这是HTML部分,所以哪一方不工作服务器?或者可能是数据格式化。尝试此新FormData$'import\u form'[0]。可能Im的副本在将表单信息传递到importData.php表单时遇到问题。无法100%确定ajax格式是否正确。我对此一无所知。我看了一下帖子。我实际上正试图使用ajax调用将数据从csv文件导入mysql。我不想刷新页面。以前,我使用该格式设法恢复查询。但是现在仍然坚持使用ajax调用将要从index.php导入的文件名传递到importdata.php。拼写正确。我写这篇文章时打错了字。我没有收到任何错误。一切都没有发生,所以请修改成功调用的函数。请看下面的链接。
$csvMimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
if(!empty($_FILES['score_file']['name']) && in_array($_FILES['score_file']['type'],$csvMimes)){