相关疑难解决方法(0)

如何异步上传文件?

我想用jQuery异步上传一个文件.这是我的HTML:

<span>File</span>
<input type="file" id="file" name="file" size="10"/>
<input id="uploadbutton" type="button" value="Upload"/>
Run Code Online (Sandbox Code Playgroud)

在这里我的__CODE__代码:

$(document).ready(function () {
    $("#uploadbutton").click(function () {
        var filename = $("#file").val();

        $.ajax({
            type: "POST",
            url: "addFile.do",
            enctype: 'multipart/form-data',
            data: {
                file: filename
            },
            success: function () {
                alert("Data Uploaded: ");
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我只获取文件名,而不是上传文件.我该怎么做才能解决这个问题?

现行解决方案

我正在使用jQuery Form Plugin上传文件.

javascript ajax jquery asynchronous xmlhttprequest

2841
推荐指数
28
解决办法
129万
查看次数

jQuery Ajax文件上传

我可以使用以下jQuery代码使用Ajax请求的post方法执行文件上载吗?

$.ajax({
    type: "POST",
    timeout: 50000,
    url: url,
    data: dataString,
    success: function (data) {
        alert('success');
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

如果可能,我是否需要填写"数据"部分?这是正确的方法吗?我只将文件发布到服务器端.

我一直在谷歌搜索,但我发现是一个插件,而在我的计划中,我不想使用它.至少目前.

javascript ajax jquery post file-upload

722
推荐指数
22
解决办法
132万
查看次数

使用jQuery.ajax发送multipart/formdata

我使用jQuery的ajax函数将文件发送到服务器端PHP脚本时遇到问题.可以获取文件列表$('#fileinput').attr('files')但是如何将此数据发送到服务器?使用文件输入时$_POST,服务器端php脚本上的结果array()为0(NULL).

我知道这是可能的(虽然我到目前为止还没有找到任何jQuery解决方案,只有Prototye代码(http://webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.html) ).

这似乎是相对较新的,所以请不要通过XHR/Ajax提及文件上传,因为它肯定有用.

我需要Safari 5中的功能,FF和Chrome会很好但不是必需的.

我现在的代码是:

$.ajax({
    url: 'php/upload.php',
    data: $('#file').attr('files'),
    cache: false,
    contentType: 'multipart/form-data',
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});
Run Code Online (Sandbox Code Playgroud)

ajax jquery file-upload multipartform-data form-data

545
推荐指数
8
解决办法
83万
查看次数

脚本5:IE9中拒绝访问同一域上的iframe

我正在尝试使用iframe(通过AJAX)提交附加文件的表单.我正在使用rails和remotipart gem.实际上我也尝试过jquery.form.js库,但没有运气.当我提交表单时,我只在IE9中获取"SCRIPT5:访问被拒绝",当我从我的Gmail帐户重定向到该页面时.当我访问我的网站并提交附有文件的表单时,它工作正常,但当我通过gmail的链接(其他电子邮件工作)访问网站时,它不起作用.我检查了它是如何工作的 - 它创建隐藏的iframe设置form.target = iframe.name(iframe的名称)&iframe.src = javascript:false; 提交表单时,抛出异常="SCRIPT5:访问被拒绝".我试图设置iframe.domain =我网站的域但是没有用 - iframe = $(""); 顺便说一下,我正在向同一个域名提交表格

有谁解决了这个问题?

ajax gmail asyncfileupload internet-explorer-9

7
推荐指数
1
解决办法
2680
查看次数