【问题标题】:cross domain file upload using jquery file upload使用jquery文件上传跨域文件上传
【发布时间】:2014-08-15 18:31:00
【问题描述】:

我正在使用 Blueimp 的 jQuery 文件上传,我需要进行跨域文件上传(从 localhost:8008 到 localhost:8000)

但是在初始阶段我什至没有得到响应,并且出现了这个错误: XMLHttpRequest cannot load。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 因此不允许访问。

jQuery 是:

$(function () {
    $('#fileupload').fileupload({
        url: 'http://examples.com/multi/multi/',
        dataType: 'json',
        type: 'post',
        fileInput: $('#fileupload'),
        forceIframeTransport: true,
        multipart: true,
        autoUpload: true,

        done: function (e, data) {
             $.each(data.files, function (index, file) { 
                debugger;
              console.log(file); 
              $.support.cors = true; 
              $.post('examples.com/multi/multi_uploader_details/', 'file_name='+file) 
              .success(function(resp){ 
                  console.log(resp); 
                  if(resp.code == 0){ 
                      $("#file_db_id").val(resp.data.identifier); 
                  } 
                  else{ 
                      alert(resp.data); 
                  } 
              }) 
              .fail(function(){ 
                  alert("error"); 
              }); 
        
    }); 

【问题讨论】:

    标签: javascript jquery python cross-domain jquery-file-upload


    【解决方案1】:

    尝试改变

    dataType: 'json',
    

    dataType: 'jsonp',
    

    https://learn.jquery.com/ajax/working-with-jsonp/

    【讨论】:

    • 您可以使用完整的 CORS 实现:可以在 here 找到详细的教程,预计它会更现代。但不要指望它可以在旧浏览器上运行:IE
    • 扩展中是否有类似JQuery 中的.ajax() 中的crossDomain 属性。如果是这样,请尝试将其设置为 true。
    猜你喜欢
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多