当前位置: 首页 > 面试题库 >

如何使用jQuery序列化上传文件

长孙波鸿
2023-03-14
问题内容

所以我有一个表单,我正在使用jquery序列化功能通过ajax提交表单

        serialized = $(Forms).serialize();

        $.ajax({

        type        : "POST",
        cache   : false,
        url     : "blah",
        data        : serialized,
        success: function(data) {

        }

但是如果表单有一个<input type="file">字段该怎么办....我如何使用这种ajax序列化方法将文件传递给表单…打印$
_FILES不会输出任何内容


问题答案:

无法使用AJAX上传文件,因为您无法访问存储在客户端计算机上的文件内容,也无法使用javascript在请求中发送该文件。实现此目的的一种技术是使用隐藏的iframe。有一个不错的jquery表单插件,它允许您AJAXify表单,并且还支持文件上传。因此,使用此插件,您的代码将如下所示:

$(function() {
    $('#ifoftheform').ajaxForm(function(result) {
        alert('the form was successfully processed');
    });
});

该插件会自动处理订阅submit表单事件,取消默认提交,使用适当的方法序列化值,使用适当的方法并处理文件上传字段,…



 类似资料:
  • 问题内容: 我已经进行了很多搜索,以了解如何使用Ajax从表单上载文件,并发现xhr2应该可以做到。但是,我已经尝试过使用FormData对象,但它不起作用。 这是一个简单的html表单 这是“ post.php”文件,当以“老式”方式运行时,它可以正常工作: 这是“ upload.js” 您知道为什么它不起作用吗?控制台返回“未发送文件”。 非常感谢 ! 问题答案: 尝试替换代码: 有了这个:

  • 问题内容: 我设计了一个简单的表格,允许用户将文件上传到服务器。最初,表单包含一个“浏览”按钮。如果用户要上传多个文件,则需要单击“添加更多文件”按钮,该按钮会在表单中添加另一个“浏览”按钮。提交表单后,文件上传过程将在“ upload.php”文件中处理。对于上载多个文件,它工作得很好。现在,我需要使用jQuery的’.submit()’提交表单,并将ajax [‘.ajax()’]请求发送至’

  • 我已经在我的Rails4应用程序中实现了JQuery文件上传。当我从浏览器手动测试文件上传时,文件上传工作正常,但测试失败。 下面是我上传JQuery文件的规范:需要'spec\u helper' 我使用rspec2、水豚2和恶灵来实现这个特性规范。

  • 问题内容: 使用,我可以将其发送到PHP页面。现在如何在PHP中反序列化它?它已在jQuery中序列化。 问题答案: 您无需从jquery 方法反序列化PHP中的任何内容。如果对数据进行序列化,则如果使用GET方法ajax请求,则应将其作为查询参数发送给PHP;如果使用POST ajax请求,则应将其作为vars发送。因此,在PHP中,您将访问类似或取决于请求类型的值。 该方法仅采用表单元素并将其

  • 问题内容: 我想上传文件,就像Google Mail一样。我想使用jQuery和PHP来做到这一点吗? 在这里,我添加了一个有关Google的视频。http://dl.getdropbox.com/u/5910/Jing/2009-04-02_1948.swf 没有Flash,请没有perl或cgi。 我想我现在可以不用进度条了,我实际上正在搜索有关jquery插件的信息,或者只是我需要查看的内容

  • 我正在尝试使用多部分实体方法上传文件。但它失败,错误说{“错误”:“文件参数值'无'无效”} 我的代码是: File File = new File(" C:/Users/SST-06/Desktop/new . txt "); 我的实体文件包含所有提到的参数。 -hkYO-pblk 0 uqlxjtvklrbkosxz 7 mye-8 wbvbvanx Content-Disposition:f