【问题标题】:how pass file value with this jquery code如何使用此 jquery 代码传递文件值
【发布时间】:2018-06-10 14:46:04
【问题描述】:

我的代码

if (submitType == "add") {
    url = "<?php echo base_url();?>admin/packages/add";
} else {
    url = "<?php echo base_url();?>admin/packages/manage/" + slug;
}

$.post(url, $(".package-form").serialize(), function(response) {
    if ($.trim(response) != "done") {
        $(".output").html(response);
    } else {
        window.location.href = "<?php echo base_url().$adminsegment." / packages / "?>";
    }
});

我在表单中有一个名为 pdfupload 的输入文件,该值未进入控制器操作。有人知道如何通过,请帮助我

【问题讨论】:

  • 你能不包括相关的HTML 来配合你的ajax 吗?另外我很确定&lt;?php echo base_url().$adminsegment." / packages / "? 可能会导致语法错误,因为引号很接近所以/ packages / 不是字符串的一部分。用window.location.href = "&lt;?php echo base_url().$adminsegment;?&gt;/packages/";会不会更方便
  • 表格有点大。表单类是.package-form,有
  • enctype="multipart/form-data" 添加到form 标记并在PHP 端检索$_FILES 中的文件。见documentation
  • 那个也有,然后也不行

标签: javascript jquery codeigniter file file-upload


【解决方案1】:

使用$.ajax 而不是$.post

$('#form_id').submit(function(){
var formData = new FormData(this);

$.ajax({
                type:'POST',
                url: url,
                data:formData,
                cache:false,
                contentType: false,
                processData: false,
                success:function(success){
                    //success
                }
});
});

不要忘记在表单中添加 enctype 为enctype="multipart/form-data"

这会解决你的问题。

【讨论】:

  • 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多