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

Javascript Jquery Ajax方法POST在远程服务器上不起作用,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我在一个网站上工作了很长时间,但都是在localhost上完成的。使登录表单正常工作后,我决定将其上载到主机。 问题是,如果我使用方法:POST 如果我将POST更改为GET它将工作 Ajax代码: $.ajax({ method: 'POST', url: "php/login.php", data: { username: val_username, password: val_password }, success: function(res

我在一个网站上工作了很长时间,但都是在localhost上完成的。使登录表单正常工作后,我决定将其上载到主机。
问题是,如果我使用方法:
POST

如果我将
POST
更改为
GET
它将工作

Ajax代码:

$.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);
        }
      }
    });
login.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;

?>

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

POST时是否触发
成功
回调?如果没有,请尝试设置一个
错误
-回调并检查它所说的内容。它发送的是纯文本吗?你希望它发送什么?好吧,让它发送纯文本或不纯文本。当它是
POST
时返回什么,当它是
GET
时返回什么?检查浏览器开发工具网络中的实际请求以获取线索。什么是地位?url是否符合预期?…发送了什么?返回了什么?etc也会调整响应,以防收到额外的响应whitespace@Aneszej您可以在网络选项卡中看到请求本身中的所有内容…转到那里可以节省大量时间。你刚刚发布的信息都不足以说明问题。仔细检查!