2016-09-15 50 views
0

我有我的website部署在我的學校服務器上的Pi上。 JS包含對同一個域進行GET請求的調用。 (它運行Flask)。爲什麼當我不試圖打到不同的域時,這被認爲是一個跨域請求?JQuery getJSON CORS錯誤,即使不交叉源請求?

我的js腳本位於文檔根目錄以外的目錄中。您也可以直接在瀏覽器中檢查元素。

. 
├── configs.js 
├── index.html 
├── logs.html 
├── node_modules 
│   └── all my libraries 
├── README.md 
└── resources 
    ├── css 
    │   └── style.css 
    ├── images 
    │   └── dvc.png 
    └── js 
     ├── log-chart.js 
     └── script.js 

41 directories, 472 files 
+0

它是相同的端口和服務器?這些也構成了一個起源。 – RamenChef

+0

燒瓶REST調用通過'http://dvc-raspberrypi.ucsd.edu:5000/door'來完成。學校分配我的皮下面: IP = 132.239.214.30 主機名= dvc-raspberrypi.ucsd.edu 網關= 132.239.214.1 子網掩碼= 255.255.255.192 我猜它可能是一個不同的端口? –

+0

這會比設置mod_wsgi並在那裏部署它容易嗎? –

回答

3

在測試跨源請求時,端口號被認爲是域的一部分,所以它必須到達請求頁面的同一端口。您的網站是http://dvc-raspberrypi.ucsd.edu/,但您正試圖訪問http://dvc-raspberrypi.ucsd.edu:5000/door。 Port 5000使他們有不同的起源。

+0

我會嘗試將端口設置爲80。 –

+0

等等......我的前端使用端口80在Apache上運行。我怎樣才能讓我的後端使用端口80?理想情況下,我希望能夠撥打電話: 'http:dvc-raspberrypi.ucsd.edu/door'。但是這與前端文檔根目錄中的文件不一致。我想我可以將後端和前端放在同一個目錄中,但我想將它們分開。 –

+0

你可以用不同的端口來做,但是你需要實現CORS來允許它。 – Barmar