Javascript 在现有ajax代码中添加图像上传功能

Javascript 在现有ajax代码中添加图像上传功能,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我的代码在这里工作良好,除了图像上传。它将所有数据插入数据库 <input type="file" name="image2" class="file" id="imgInp"/> 但在php中添加文件类型输入后,它显示 注意:第18行C:\xampp\htdocs\upload\submit.php中未定义的索引:image2 如何在现有代码中添加图像上传功能 //问题就在这里 //问题就在这里 提交 $(文档).ready(函数(){ //使用$.ajax()方法提交

我的代码在这里工作良好,除了图像上传。它将所有数据插入数据库

<input type="file" name="image2" class="file" id="imgInp"/>

但在php中添加文件类型输入后,它显示

注意:第18行C:\xampp\htdocs\upload\submit.php中未定义的索引:image2

如何在现有代码中添加图像上传功能


//问题就在这里
//问题就在这里

提交 $(文档).ready(函数(){ //使用$.ajax()方法提交表单 $(“#注册表格”)。提交(功能(e){ e、 preventDefault();//防止默认提交 $.ajax({ url:'submit.php', 键入:“POST”, 数据:$(this).serialize()//它将序列化表单数据 }) .完成(功能(数据){ $(“#表单内容”).fadeOut('slow',function(){ $('#form content').fadeIn('slow').html(数据); }); }) .fail(函数(){ 警报('Ajax提交失败…);}); });
您可以使用FormData,我建议您也可以更改表单的元素id,现在所有元素都有('lname'),请使用当前的:

在yout HTML中,为文件输入输入一个ID

<input type="file" name="image2" id="name="image2"" class="file" id="imgInp"/>
在PHP代码中,您可以使用$_文件访问图像,并且$_POST

FormData()的输入可以在上运行。如果您想要旧浏览器支持,请使用插件

你的表格

<form method="post" action="action.php" id="reg-form" enctype="multipart/form-data" autocomplete="off">

沙文

<script type="text/javascript">
var frm = $('#reg-form');
frm.submit(function (ev) {
var ajaxData = new FormData(frm);
    $.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: ajaxData,
        contentType: false,             
        cache: false,           
        processData:false, 
        success: function (data) {
            alert('ok');
        }
    });

    ev.preventDefault();
});

var frm=$(“#注册表形式”);
提交财务报表(功能(ev){
var ajaxData=新表单数据(frm);
$.ajax({
类型:frm.attr('method'),
url:frm.attr('action'),
数据:ajaxData,
contentType:false,
cache:false,
processData:false,
成功:功能(数据){
警报(“正常”);
}
});
ev.preventDefault();
});


在php中,
extract($\u POST)
获取所有输入数据,以及
$\u FILE
获取文件

使用FormData()通过AjaxThank上传文件。您能帮助我仅在提交时加载此表单或仅在提交此div时加载此表单吗。只需在提交表单$('#reg form')中替换/组合JavaScript代码即可。提交(函数(e){//在此处添加代码。。。。
<script type="text/javascript">
var frm = $('#reg-form');
frm.submit(function (ev) {
var ajaxData = new FormData(frm);
    $.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: ajaxData,
        contentType: false,             
        cache: false,           
        processData:false, 
        success: function (data) {
            alert('ok');
        }
    });

    ev.preventDefault();
});