2014-06-25 113 views
-1

我使用jQuery的文件上傳的Blueimp,我需要做跨域文件上傳(從本地主機:8008爲localhost:8000)跨域文件上傳使用jQuery文件上傳

但在起步階段我沒即使得到了答覆,我得到這個錯誤: XMLHttpRequest無法加載http://examples.com:8000/multi/multi_uploader_details/。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此'Origin'http://examples.com:8008'不允許訪問。

和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

嘗試改變

dataType: 'json', 

dataType: 'jsonp', 

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

+0

呀,我試過一個,但它會無法正常工作對我來說 –

+0

你可以使用一個完整的CORS實現:一個詳細的教程可以在這裏找到(http://www.html5rocks.com/en/tutorials/cors/),它預計會更現代化。但不要指望它可以在舊版瀏覽器上運行:IE <= 7,Opera <12或Firefox <3.5 –

+0

擴展中是否存在crossDomain屬性,就像[JQuery]中的.ajax()(http:// api.jquery.com/jquery.ajax/)。如果是這樣,請嘗試將其設置爲true。 –