【问题标题】:jQuery ajax post file fieldjQuery ajax 发布文件字段
【发布时间】:2011-08-08 19:12:17
【问题描述】:

我有一个带有文件输入的表单。如何获取文件并使用 jQuery 将其发布到 php 脚本?我可以只使用 .val() 来获取值然后发布吗?例如,假设文件输入有一个文件 ID,我可以这样做:

$('#submit').click(function() {
    var file = $('#file').val();
    $.post('script.php', { "file": file }, function(data) {
        // do something here after post complete
    }, 'json');
});

谢谢

【问题讨论】:

  • 我猜这行不通,一个 ajax 上传器可能就是你在看的东西..

标签: jquery ajax


【解决方案1】:

这应该会有所帮助。 How can I upload files asynchronously?

正如帖子所建议的,我推荐一个位于此处的插件http://malsup.com/jquery/form/#code-samples

【讨论】:

    【解决方案2】:

    我尝试使用此代码使用 Ajax 接受文件,并在提交文件时使用我的 php 文件进行存储。代码稍作修改即可工作。 (上传文件:PDF、JPG)

    function verify1() {
        jQuery.ajax({
            type: 'POST',
            url:"functions.php",
            data: new FormData($("#infoForm1")[0]),
            processData: false, 
            contentType: false, 
            success: function(returnval) {
                 $("#show1").html(returnval);
                 $('#show1').show();
             }
        });
    }
    

    只需打印文件详细信息并检查即可。你会得到输出。如果有错误请告诉我。

    【讨论】:

      【解决方案3】:

      文件上传不能以这种方式完成,无论您如何分解。如果您想进行 ajax/async 上传,我建议您查看 Uploadify 或 Valums 之类的内容

      【讨论】:

        【解决方案4】:

        试试这个...

        <script type="text/javascript">
              $("#form_oferta").submit(function(event) 
              {
                   var myData = $( form ).serialize(); 
                   $.ajax({
                        type: "POST", 
                        contentType:attr( "enctype", "multipart/form-data" ),
                        url: " URL Goes Here ",  
                        data: myData,  
                        success: function( data )  
                        {
                             alert( data );
                        }
                   });
                   return false;  
              });
        </script>
        

        这里contentType被指定为multipart/form-data,就像我们在表单标签中所做的那样,这将用于上传简单文件 在服务器端,您只需要编写简单的文件上传代码来处理此请求,并回显您希望向用户显示作为响应的消息。

        【讨论】:

          猜你喜欢
          • 2014-10-14
          • 1970-01-01
          • 1970-01-01
          • 2011-02-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-28
          • 2013-06-06
          相关资源
          最近更新 更多