Jquery Ajax 方法 POST 在远程服务器上不起作用


Jquery Ajax method POST does not work on remote server

我已经在一个网站上工作了一段时间,但这一切都是在本地主机上完成的。使登录表单正常工作后,我决定将其上传到托管。
问题是如果我使用方法,ajax 的回调函数似乎不起作用:POST
如果我将POST更改为GET它将起作用...

阿贾克斯代码:

$.ajax({
      method: 'POST',
      url: "php/login.php",
      data: { username: val_username, password: val_password },
      success: function(response) {
        if (response == 0) {
          location.reload();
        } else {
          alert("Wrong username or password. Error #"+response);
        }
      }
    });

登录.php

<?php
session_start();
require "../php_includes/mysql.php";
// Create connection
$conn = new mysqli($db_server, $db_user, $db_pass, $db_name);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
// escape your parameters to prevent sql injection
$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$sql = "SELECT * FROM korisnici WHERE username='$username'";
$sql_result = $conn->query($sql);
if ($sql_result->num_rows > 0) {
    $row = $sql_result->fetch_assoc();
    if (password_verify($password, $row["password"])) {
        $_SESSION["loggedin"] = true;
        $_SESSION["userid"] = $row["id"];
        echo 0;
    } else echo 2;
} else echo 1;
?>

我已经检查了所有文件位置,那里没有问题,因为如果我将方法更改为 GET,一切正常。

我尝试在 ajax 中更改数据类型,尝试向 php 文件添加一些标头,我发现我在堆栈溢出中搜索这些标头,但没有任何帮助......

确保托管服务器上具有相同版本的 PHP(至少是 PHP 5.5,因为您使用的是 password_verify() 适用于>= PHP 5.5)。