2013-04-30 51 views
10

我剛剛發現我的瀏覽器在嘗試與自定義http標頭進行跨域ajax調用時發送額外的「OPTION」請求。 我認爲它被稱爲「預檢請求」。使用自定義HTTP標頭髮送跨域請求時禁用預檢選項請求

是否可以禁用此功能並僅發送初始請求?

這是我的JavaScript測試代碼:

$(document).ready(function() { 
    $.ajax({ 
     url: "http://google.fr", 
     crossDomain: true, 
     headers: { 
      "X-custom-parameter": true 
     } 
    }); 
}); 

感謝您的幫助!

回答

10

不,絕對不可能繞過CORS預檢請求。預檢請求的存在允許以安全的方式跨域請求。在上面的示例中,您嘗試訪問google.fr,但google.fr不支持CORS。谷歌沒有辦法解決這個問題,因爲Google不支持其網頁上的跨域請求。一般來說,如果你擁有服務器的所有權,你的選擇是支持CORS,支持像JSON-P這樣的跨域攻擊,或者使用服務器端代理。