[英]How to execute code from php file when ajax called
好的,所以我有 php 代碼,它應該在嘗試登錄時檢查數據庫中是否存在現有用戶並發送回 javascript 失敗或成功
Php 代碼:
<?php
require_once 'Korisnik.php';
require_once 'dbconn/korisnikdb.php';
if ($_SERVER["REQUEST_METHOD"] === "POST") {
// collect value of input field
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$korisnik = getKorisnikByUserPass($username, $password);
if ($korisnik == null) {
$statusArray = array("status"=>"fail");
echo json_encode($statusArray);
return;
} else {
session_start();
$_SESSION["prijavljeniKorisnik"] = $username;
$statusArray = array("status"=>"success");
echo json_encode($statusArray);
return;
}
}
?>
這里我有我的 javascript 代碼:
$(document).ready(function() {
var usernameInput = $('#usernameInput');
var passwordInput = $('#passwordInput');
var pogresniPodaci = $('#pogresniPodaci');
var praznaPolja = $('#praznaPolja');
pogresniPodaci.hide();
praznaPolja.hide();
$('#submitButton').on('click', function(event) {
var username = usernameInput.val();
var password = passwordInput.val();
console.log(username);
console.log(password);
if (username == '' || password == '') {
praznaPolja.show();
event.preventDefault();
return false;
}
var params = {
'username': username,
'password': password
}
$.post('loginCheck.php', params, function(data) {
console.log(data.status);
if (data.status == 'fail') {
pogresniPodaci.show();
usernameInput.val('');
passwordInput.val('');
return;
}
if (data.status == 'success') {
location.href = 'pocetna';
}
});
event.preventDefault();
return false;
});
});
http://prntscr.com/skb37r ->在這里你可以看到我按下那個按鈕后的狀態
問題是 loginCheck.php 中的 php 代碼從未真正執行過,我嘗試在 php 文件的開頭添加回顯,但它沒有執行。
您正在向 localhost 發送 http 請求。 即使文件不存在,您的 localhost 也會返回狀態 200,除非它被配置為拋出錯誤。
試試這個:go 到http://localhost/loginCheck.php並在那里回顯任何內容。
echo "This is loginCheck";
如果它回顯,您就在正確的路徑上登錄檢查文件。 如果可行,go 到瀏覽器開發工具 > 網絡 > 查看請求標頭並找到“請求 URL”header。 它應該是“ http://localhost/loginCheck.php ” - 您之前訪問過的文件的路徑。 如果不是,您必須在 $.post 請求中修復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.