猿问

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

我正在尝试将带有 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 文档


守着一只汪
浏览 163回答 1
1回答

扬帆大鱼

您正在检查 POST 值:if(!isset($_POST['submit']))&nbsp;{但是您没有发送该 POST 值:var&nbsp;formData&nbsp;=&nbsp;{&nbsp;'user':&nbsp;$('#user').val(),&nbsp;'pass':&nbsp;$('#pass').val()&nbsp;}所以结果是重定向头:header('Location:&nbsp;../login.html');删除if条件,或发送值:var&nbsp;formData&nbsp;=&nbsp;{&nbsp;'user':&nbsp;$('#user').val(),&nbsp;'pass':&nbsp;$('#pass').val(),&nbsp;'submit':&nbsp;true&nbsp;}
随时随地看视频慕课网APP
我要回答