【问题标题】:how to upload file in codeigniter using ajax, the error in ajax如何使用ajax在codeigniter中上传文件,ajax中的错误
【发布时间】:2018-04-18 08:04:50
【问题描述】:

我想使用 ajax 通过 codeigniter 上传 pdf,在我的表单上我添加了一个属性 enctype="multipart/form-data" 我确定错误在 ajax 脚本中:

$("#form").submit(function(){
        $.ajax({
            type:"POST",
            url: base_url+"car/save_car",
            data:$(this).serialize(),
            dataType:"json",
            beforeSend:function()
            {
                $("#loading-box").show();
                $("#btn-save").addClass("disabled");
                //$("#btn-save").prop("disabled", true);
            },
            success: function(res)
            {
                $("#loading-box").hide();
                var msg="";
                if(res.error)
                {
                    $("#btn-save").addClass("disabled");
                    msg =\'<span class="callout callout-danger"><i class="icon fa fa-warning"></i> \'+res.message+\'</span>\';
                }
                else
                {
                    msg =\'<span class="callout callout-success"><i class="icon fa fa-check"></i> \'+res.message+\'</span>\';
                    setInterval(function(){window.location=\''.base_url('car').'\'},1500);
                }

        });            
        return false;
    });

【问题讨论】:

  • 您遇到的错误是什么?我认为您将需要使用 formData 将文件发送到服务器。
  • 错误是您没有选择要上传的文件
  • 您的文件是否从您的表单中被选中?
  • 是的,你说得对

标签: ajax forms codeigniter upload


【解决方案1】:

使用formData 发送您的数据,包括您在submit 函数中的文件

formData = new FormData();
  if($(this).prop('files').length > 0)
   {
    file =$(this).prop('files')[0];
    formData.append("yourFileName", file);
   }

并在您的 ajax 中发送 formData。

data: formData,

可以看参考here

【讨论】:

    猜你喜欢
    • 2017-10-22
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多