1
我無法讓我的React應用程序與我在計算機上託管的API進行通信。我不太熟悉CodeIgniter,因此假設在這一部分存在錯誤/誤解是安全的。我已經嘗試將header('Access-Control-Allow-Origin:*');
添加到application/config/rest.php
的頂部以及其他一些文件。當我做一個API請求,飛行前OPTIONS請求顯然是首先發送,它看起來像:CORS無法在CodeIgniter和React應用程序之間工作
Request Headers:
Host: localhost:8000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: GET
Access-Control-Request-Headers: apikey
Origin: http://localhost:3000
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Response Headers:
Access-Control-Allow-Origin: *
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: close
Content-Type: text/html; charset=UTF-8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Host: localhost:8000
Pragma: no-cache
Set-Cookie: ci_session=3ba4cibif5sdgtfjjopmokt8k2fc1c1j; expires=Fri, 24-Feb-2017 19:18:05 GMT; Max-Age=7200; path=/; HttpOnly
X-Powered-By: PHP/5.5.38
響應中爲200,在服務器上,該API種子我試圖獲取資源和迴應200(但我的應用程序沒有看到這一點)。該反應前端看到並記錄超無益
Error: Network Error
Stack trace:
[email protected]://localhost:3000/bundle.js line 4801 > eval:15:15
[email protected]://localhost:3000/bundle.js line 4789 > eval:87:14
錯誤,我的應用程序甚至從來沒有做(根據Firefox的開發工具)的GET請求。 OPTION的響應數據是完全空的。這裏發生了什麼?