簡體   English   中英

調用 ajax 時如何從 php 文件執行代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM