JSON在开始时返回“POST”一词

时间:2018-01-19 17:52:10

标签: php jquery html json ajax

我发誓我会发疯的。使用来自envato市场的堆栈模板,每当我尝试做一个简单的ajax请求时,json从php返回无效。我在另一个模板中使用相同的代码,它工作正常。

$.ajax({
    url: "../api/login",
    dataType: 'json',
    type: "post",
    data:{
        login:login,
        pass:pass
    },
    success: function(data) {
            console.log(data);
            token = data.token;

    },
    error: function(data){
            console.log(data);

    }
});

这个电话不能更基本。我应该得到一个带有令牌的数组而不是

POST"8b025621d238f1bf715941067a33dc1f"

它的POST就是扔我的。它不会发生在我的任何其他应用程序中。返回的PHP代码在这里

function checkLogin(){
    include "logindb.php";
    $password = $_POST['pass'];
    $login    = $_POST['login'];

    $db       = new adminLogin();
    $result   = $db->logInUser($login);
    $id       = $result['id'];
    $hash     = substr( $result['hash'], 0, 60 );
    error_log("hash is-->>$hash");
    if(password_verify($password, $hash)){
      $status = "login successful";
      $token  = openssl_random_pseudo_bytes(16);
      $token  = bin2hex($token);
      $result = $db->addToken($id,$token);
      error_log("login successful");
    }else{
      error_log("login failed");
      $status = "Unauthorized";
      header('HTTP/1.1 401 Unauthorized', true, 401);
    }
    $returnValue = json_encode(array('response'=>$status,'token'=>$token));
    echo $returnValue;

}

非常感谢任何见解。谢谢。

1 个答案:

答案 0 :(得分:0)

与您当前编辑的PHP代码一样,没有任何缺陷。

在调用POST之前,您似乎已经回复了checkLogin()

尝试检查一次代码并删除echo部分。你会很高兴。