2 回答

TA貢獻1846條經驗 獲得超7個贊
我認為您需要嘗試更改代碼
fetch('http://localhost:65535/login.php'....
到您的 ip,使用ipconfig檢查您的本地 ip 并像這樣更改代碼
fetch('http://192.168.1.1/login.php'....
示例 ip

TA貢獻2036條經驗 獲得超8個贊
據我所知,問題是您的 PHP 服務器沒有返回有效的 json。它返回一個字符串,即使您對字符串進行 json_encode,該字符串也將是"Data Matched"或"Invalid Username or Password Please Try Again"。但是,當您發出 fetch 請求并執行
.then((response) => response.json())
.then((responseJson) => {
response.json()).then((responseJson)當您執行.json() 部分嘗試解析無效 JSON 的字符串時,它會嘗試解析字符串“數據匹配” 。因此,您可以通過兩種方式解決這個問題,實際上從 php 服務器發回有效的 json 構建這樣的對象{ "success" : true, message :"Data Matched"}或簡單地刪除 .json() 鏈,因此 javascript 將返回一個字符串,而不是嘗試將其解析為 JSON。所以沒有 .json() 它將是
...
.then((response) => {
// If server response message same as Data Matched
if(response === 'Data Matched')
{
alert(response);
} else {
alert(response);
}
...
只需先嘗試刪除.then((response) => response.json()第 58 行的部分,然后直接跳到下一個鏈接的 then 子句
添加回答
舉報