使用jQuery File Upload进行跨域文件上传

-1 投票
1 回答
1443 浏览
提问于 2025-04-18 11:00

我正在使用Blueimp的jQuery文件上传功能,想要实现跨域文件上传(从localhost:8008上传到localhost:8000)。

但是在最开始的时候,我甚至没有收到任何响应,还遇到了这个错误:XMLHttpRequest无法加载。请求的资源上没有'Access-Control-Allow-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"); 
              }); 
        
    }); 

1 个回答

-1

试着把

dataType: 'json',

改成

dataType: 'jsonp',

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

撰写回答