倚天杖
2022-12-09 19:17:41
我的目標是將我的 Quasar 應用程序運行到連接到局域網的其他設備。POST http://10.0.0.20:8080/MyComposer/?submitId=3 404 (Not Found)盡管我之前在我的本地主機上工作正常,但當我登錄網站時,我設法按預期運行它們,但我遇到了這個錯誤。為什么它不能正確讀取后端文件夾中我的 index.php 中的類?PS 我不知道這是否可以解決我的問題,但是當我使用 phpinfo() 進行調試時,我注意到那里的 REQUEST_METHOD 是 GET 而不是 POST。是否可以交換它們?我會嘗試你們給我的任何東西。安慰GeneralRequest URL: http://10.0.0.20:8080/MyComposer/?submitId=3Request Method: POSTStatus Code: 404 Not FoundRemote Address: 10.0.0.20:8080Referrer Policy: no-referrer-when-downgradeResponse HeadersConnection: keep-aliveContent-Length: 151Content-Security-Policy: default-src 'none'Content-Type: text/html; charset=utf-8Date: Tue, 28 Jul 2020 12:18:12 GMTVary: Accept-EncodingX-Content-Type-Options: nosniffX-Powered-By: ExpressRequest HeadersAccept: application/json, text/plain, Accept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9,es;q=0.8Connection: keep-aliveContent-Length: 49Content-Type: application/jsonHost: 10.0.0.20:8080Origin: http://10.0.0.20:8080Referer: http://10.0.0.20:8080/User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36標題.php<?phpheader('Access-Control-Allow-Origin: http://10.0.0.20:8080/'); //OR EITHER http://10.0.0.20:8080/ OR .$_SERVER['HTTP_ORIGIN']header('Access-Control-Allow-Credentials: true');header('Access-Control-Allow-Max-Age: 3600');if (strtoupper($_SERVER['REQUEST_METHOD']) === 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0);}
1 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
該問題不是由編碼錯誤引起的,而是由于在受影響的系統上安裝了兩個網絡服務器,一個 XAMPP 安裝在默認端口 80 上運行,一個 Node.Js 服務器在端口 8080 上運行。
為了診斷問題,我們首先將腳本中使用的 URL 復制粘貼到瀏覽器窗口中,該窗口給出了相同的 404 HTTP 錯誤。這排除了axios.post()
方法導致行為的選項。
接下來測試了基本的 HTTP 端口分配。調用地址http://10.0.0.20
(用戶在本地網絡中的 IP)給出了正確的 XAMPP 主頁。在檢查httpd.conf
和其中的Listen
設置(應該是Listen 8080
)時,我們看到 Apache 使用的是默認 HTTP 端口。將其更改為 8080(如腳本中所用)并重新啟動 Apache 導致服務器無法啟動并出現錯誤:
檢測到問題!PID 為 3808 的“C:\Program Files\nodejs\node.exe”正在使用端口 8080!如果配置的端口空閑,Apache 將不會啟動!您需要卸載/禁用/重新配置阻止應用程序或重新配置 Apache 和控制面板以偵聽不同的端口。
現在可以確定問題的原因是端口混亂。從腳本中刪除:8080
確保將請求發送到正確的服務器。
添加回答
舉報
0/150
提交
取消