Ajax(jQuery)奇怪的文件发布问题

时间:2022-11-24 13:40:06

I have a problem posting file via ajax jQuery function. I have something like this:

我通过ajax jQuery函数发布文件有问题。我有这样的事情:

$('#my_form').submit(function() {
       var serialized = $(this).formSerialize();
       var sUrl = "xxx";

       $.ajax({
           url: sUrl,
           type: "POST",
           data: serialized,
           success: function(data) {
               $(".main_container").html(data);
           }
       })
       return false; // THIS return statment blocks sending file content
    });

When I remove return false statement everything is okey, server side gets the file content and etc, but when it's there (i monitor with firebug) that this posting sends only file name. What can be wrong?

当我删除return false语句时,一切都是okey,服务器端获取文件内容等,但是当它在那里(我用firebug监视)时,这个帖子只发送文件名。有什么不对?

P.S. - I need this return false statement, because I want to manipulate return data myself.

附: - 我需要这个返回false语句,因为我想自己操作返回数据。

1 个解决方案

#1


1  

First stop — the manual.

第一站 - 手册。

Data from file select elements is not serialized.

文件选择元素中的数据未序列化。

From http://api.jquery.com/serialize/

来自http://api.jquery.com/serialize/

You can't read local files with JS, so you can't submit them using XMLHttpRequest.

您无法使用JS读取本地文件,因此无法使用XMLHttpRequest提交它们。

jQuery - receiving the $_FILES array using $.post lists a number of alternative approaches.

jQuery - 使用$ .post接收$ _FILES数组列出了许多替代方法。

#1


1  

First stop — the manual.

第一站 - 手册。

Data from file select elements is not serialized.

文件选择元素中的数据未序列化。

From http://api.jquery.com/serialize/

来自http://api.jquery.com/serialize/

You can't read local files with JS, so you can't submit them using XMLHttpRequest.

您无法使用JS读取本地文件,因此无法使用XMLHttpRequest提交它们。

jQuery - receiving the $_FILES array using $.post lists a number of alternative approaches.

jQuery - 使用$ .post接收$ _FILES数组列出了许多替代方法。