2013-01-09 75 views
0

我有一個AJAX調用,檢查是否存在文件。成功顯示文件,失敗不顯示。排除AJAX的type: HEAD,屬性。它將被調用的URL作爲腳本起始域的前綴。AJAX HEAD請求異地文件/目錄

$(document).ready(function(){ 

    var agentuid = $('#agentuid').val(); 
    var imgurl = 'http://www.universaldynamicmedia.com/sandbox/singleprop_img/agencies/' + agentuid + '.png'; 
    var img = '<img id="firm_pic" src="' + imgurl + '" />'; 

    $.ajax({ 
     url: imgurl, 
     type:'HEAD', 
     error: function() { 
      $('#firmlogo').append('<h1>FAIL!</h1>'); 
     }, 
     success: function() { 
      $('#firmlogo').html('<h1>SUCCESS!</h1>'); 
     } 
    }); 
}); 

當它試圖找到如var imgurl定義的URL,它踢回來這樣的錯誤:

XMLHttpRequest cannot load http://theimgurl.com/image1.png Origin http://www.therequesturl.com is not allowed by Access-Control-Allow-Origin. 

有沒有辦法跨越域HEAD請求?

+0

[使用JSONP和Web Workers的跨源資源共享(CORS)]的可能重複(http://stackoverflow.com/questions/3616440/cross-origin-resource-sharing-cors-using-jsonp-and -web-workers) –

+0

這個問題涉及JSONP和Web Workers。 – Plummer

+0

是的,我在按鈕上太快了,想改變它。 –

回答

1

當您的請求成功時,沒有內容限制您(因爲頭部請求),但是當您收到錯誤時會發送錯誤文檔(我只在Apache中檢查過),所以由於SOP而阻止的內容。 http://jsfiddle.net/mowglisanu/DGa7V/5/