首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Formdata上载文件

如何使用Formdata上载文件
EN

Stack Overflow用户
提问于 2015-11-05 18:43:07
回答 2查看 104关注 0票数 0

我正在使用ajax上传文件跨域。我认为窃听器在js的部分。

但我不知道到底出了什么问题。

代码语言:javascript
复制
<form id="upload">
      <div class="control-group">
          <div class="controls">
              <input id="file" name="file" type="file">
          </div>
          <div class="form-group">
              <button class="btn btn-primary" onclick="Submit()" type="button">submit</button>
          </div>
      </div>
</form>

这是我的js

代码语言:javascript
复制
var form = $('#upload');
var formData = new FormData(form);

$.ajax({
    url: URLs,
    data: formData,
    cache:false,
    contentType: false,
    processData: false,
    crossDomain: true,
    type:"POST",
    dataType:'jsonp',

    success: function(msg){
        alert(msg["foo"]);
    }

});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-05 19:16:46

数据类型:“jsonp”,

JSONP与POST请求(文件上传要求)不兼容。

使用由dataType支持的任何其他jQuery。

由于您正在提出跨源请求,因此需要目标服务器通过CORS授予您权限。

票数 0
EN

Stack Overflow用户

发布于 2015-11-05 19:04:15

当用户单击该按钮时,您将调用函数Submit(),但它没有在js中定义。这应该是可行的:

代码语言:javascript
复制
function Submit()
{
    var form = $('#upload');
    var formData = new FormData(form);

    $.ajax({
        url: URLs,
        data: formData,
        cache:false,
        contentType: false,
        processData: false,
        crossDomain: true,
        type:"POST",
        dataType:'jsonp',

        success: function(msg){
            alert(msg["foo"]);
        }

    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33552346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档