jQuery ajax上传$ FILE

时间:2014-05-20 22:28:14

标签: javascript php jquery ajax

我正在使用带有$ .ajax()函数的jQuery插件。 有一些方法可以使用POST上传文件,并在完成后执行某些功能吗? 我的代码......我做错了什么?

$.ajax({
                url: "../index.php?rqst=upload",
                type: 'POST',
                data:{
                    'fileToUpload': $("#fileToUpload").val()

                },
                success: function(data) {
                    alert("file upload");
                }}); 

这是文件输入:

<input class="form-control" type="text" name="fileToUpload" id="fileToUpload">

并且有一种方法可以在加载期间显示一个gif ??? 提前谢谢

3 个答案:

答案 0 :(得分:2)

文件上传必须为enctype='multipart/form-data',您无法像您一样混合使用GET和POST。由于这是POST,请从网址中删除?rqst=upload。另外$("#fileToUpload").val()只会给你文件的名称,而不是实际的文件。您需要一个专门的JavaScript库来使用Ajax进行文件上传。此外,对于文件上传,您的输入类型必须为type='file'而非type='text'

答案 1 :(得分:1)

使用$ .post()比使用$ .ajax()更容易。

你几乎是对的。而不是成功使用完整。

在运行$ .ajax()之前,添加一些简单的dom操作代码,在某处放置一个旋转的gif。然后在成功回调处理程序中添加代码以将其删除。

此外,还有一个用于制作旋转加载图标的JavaScript库:http://fgnass.github.io/spin.js/#

答案 2 :(得分:1)

首先我会检查你是否可以直接连接到文件, 注释掉您的数据部分,并将网址更改为仅包含回显的页面。 然后,如果可以找到连接到的页面,则会收到警报。

另一个注意事项确保“index.php?rqst = upload”中有一个echo,因此成功函数会将其选中。我通常在if else语句中使用回声,所以我可以看到是否发生错误和什么错误,然后我可以使用js来显示必要的消息