ajax php如何实现文字和文件的同时上传?

新手,我想通过ajaxphp实现文字和文件的同时上传。问下该如何实现?我尝试的方法是获取input的file然后放在data里ajax传出去但是失败了。
html:
enctype="multipart/form-data">

曲名

歌手

请选择.gp3/.gp4/.gp5/.gpx文件:

js部分:
$("#upload-newtab-button").click(function(){
$.ajax(
{
url:"upload.php",
type:"POST",
processData:false,
contentType:false,
data:{file:$("#uploadfile").files[0],name:$("#uploadname").val(),singer:$("#uploadsinger").val()}
success:function(data){
alert(data);
}
}
);
});
php部分:
$upload_path=$_SERVER['DOCUMENT_ROOT']."./uploads/";
$dest_file=$upload_path.basename($_FILES['myfile']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'],$dest_file)){
echo"文件已上传至服务器根目录的upload目录下";
}else{
echo"上传错误".$_FILES['myfile']['error'];
}
$servername="localhost";
$username="root";
$password="root";
$dbname="guitartabs";
$name=$_POST["name"];
$singer=$_POST["singer"];
//创建连接
$conn=newmysqli($servername,$username,$password,$dbname);
//Checkconnection
if($conn->connect_error){
die("连接失败:".$conn->connect_error);
}
$sql_insert="insertintotabs(name,singer)values('$name','$singer')";
$res_insert=$conn->query($sql_insert);
if($res_insert)
{
echo"注册成功!";
}
else
{
echo"系统繁忙,请稍候";
}
$conn->close();
?>
至尊宝的传说
浏览 784回答 2
2回答

小唯快跑啊

使用FormDatavarformdata=newFormData();formdata.append("name",name);formdata.append("file",$("#fileupload")[0].files[0]);$.ajax({url:"/upload/file",type:'post',data:formdata,processData:false,//不处理发送的数据,因为data值是Formdata对象,不需要对数据做处理contentType:false,success:function(ret){//code}})

慕村9548890

$sql_insert="insertintotabs(name,singer)values('$name','$singer')";去掉單引號
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript