Ajax无法在控制台日志上捕获PHP响应

时间:2019-06-12 21:59:31

标签: php jquery json ajax

我正在尝试将带有Ajax的json数据发送到php文件。该查询运行正常,但是,当我尝试在控制台上捕获响应时,这向我显示了运行javascript的相同html而不是服务器响应。

直到两天,我都会使用PHP 5.4。然后更新到PHP 7,但问题仍然存在。

Apache => 2.4.39
PHP => 7.1.30
MySQL => 5.7.26
架构=> x86_64

这是我的JavaScript代码

$('#check_usuario').submit(function() {
    var formData = { 'user': $('#user').val(), 'pass': $('#pass').val() }
    $.post('admin/validate.php', formData, response);           
    return false;
    function response(data){ // Recibimos la respuesta 'r' del servidor     
        $('#response').html('<p>User is ' + data);
        console.log(data);
                }
});

这是PHP代码

<?php
if(!isset($_POST['submit'])) {
    header('Location: ../login.html');
}
else {
include('conection.php');
$user = $_POST['user'];
$pass = $_POST['pass'];

$resp = array( "user" => $user, "pass" => $pass );
echo json_encode($resp);
die($conexion);
}

我希望获得用户并传递值,但是控制台会在执行ajax的位置打印html文档

1 个答案:

答案 0 :(得分:0)

您正在检查POST值:

if(!isset($_POST['submit'])) {

但是您没有发送该POST值:

var formData = { 'user': $('#user').val(), 'pass': $('#pass').val() }

结果就是重定向标头:

header('Location: ../login.html');

要么删除if条件,要么发送值:

var formData = { 'user': $('#user').val(), 'pass': $('#pass').val(), 'submit': true }