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