2014-12-06 92 views
2

那麼我的JavaScript調用網站的一部分的網址,所以我不知道爲什麼這是「交叉來源」。我得到「跨域請求被阻止」與相同的域

我的AJAX調用:

$.ajax({ 
    url: SITE_URL+'ajax_check.php?p='+P_ID, 
    //let's say SITE_URL is http://example.com/dev 
    success:function(result){ 
     alert(result); 
    } 
}); 

這是我的螢火得到錯誤:

「阻止跨來源請求:同源策略不允許在http://example.com/dev/ajax_check.php?p=23讀取遠程資源這樣也可以。通過將資源移動到相同的域或啓用CORS來修復。「

+1

定義「基本上是網站的一部分」。要麼是或者不是。我的猜測是,它不是,並且當前頁面或目標頁面處於不同的端口或協議。 https://example.com與http://example.com不一樣。 – Paul 2014-12-06 15:28:39

+0

我唯一一次看到這是當我忘記使用本地主機並將其作爲本地文件資源打開時(即雙擊index.html文件)。 – rfornal 2014-12-06 15:28:52

+2

我們不是比你的瀏覽器更好的跨源請求評判。如果它說它是一個不同的域名,它***是一個不同的域名。重要的是:查看此頁面時瀏覽器中顯示的確切URL(包括協議,子域和端口號)以及請求的確切URL(包括協議,子域和端口號)是什麼。 – VoteyDisciple 2014-12-06 15:33:44

回答

1

正如VoteyDiary提到的,url格式必須完全一樣。在我的情況下,頁面的url有一個www前綴,但ajax調用url沒有。所以這是「交叉來源」。