PHP echo总是转到JQuery$.ajax错误块

PHP echo总是转到JQuery$.ajax错误块,php,javascript,ajax,response,Php,Javascript,Ajax,Response,首先-不,这不是跨站点请求问题。Javascript和PHP来自同一台服务器 下面是Javascript代码 var form_data = { email: email, password: password }; $.ajax({ type: 'POST', url: '/Login.php', data: form_data, success: function(jsonResp

首先-不,这不是跨站点请求问题。Javascript和PHP来自同一台服务器

下面是Javascript代码

var form_data = {
    email:    email,
    password: password
};

$.ajax({
    type:        'POST',
    url:         '/Login.php',
    data:         form_data,
    success:      function(jsonResponse){
        console.log("Login returned via 'success'.");
    },
    error:        function (xhr, textStatus, error) {
        console.log("Login returned via 'error'.");

        // These are always empty:

        console.dir(xhr);
        console.dir(textStatus);
        console.dir(error);
    }
});
以下是PHP代码:

$response = array('success' => true);
header('content-type: application/json'); // This line makes no difference.
echo json_encode($response);
return;                
无论我做什么,控制台总是点击通过“error”返回的登录名。代码

此外,在返回后,它会强制在客户端上刷新页面

我几乎没有头发要拔了

感谢您的帮助。提前谢谢

试试看

$response = array('success' => true);
header('content-type: application/json'); // This line makes no difference.
echo json_encode($response);
exit;  
还要确保没有从脚本发送其他输出,并检查控制台中的返回标题

$response = array('success' => true);
header('content-type: application/json'); // This line makes no difference.
echo json_encode($response);
exit;  

还要确保没有从脚本发送其他输出,并检查控制台中的返回标题

您的php脚本是否返回200状态代码?其他任何操作通常都会被解释为错误。这是在unix服务器上进行的吗?Login.php与Login.php不同。而不是一个固定的+无用的错误消息,我们没有控制台。日志'登录返回:'+错误;让系统告诉你出了什么问题?通过你最喜欢的浏览器和开发工具检查响应。查看它是否返回成功的HTTP状态为200。尝试通过url自己调用php,跳过所有ajax并查看显示的内容。检查浏览器开发人员工具中的“网络”选项卡,查看响应代码。并检查服务器上的Web服务器和PHP日志。您的PHP脚本是否返回200状态码?其他任何操作通常都会被解释为错误。这是在unix服务器上进行的吗?Login.php与Login.php不同。而不是一个固定的+无用的错误消息,我们没有控制台。日志'登录返回:'+错误;让系统告诉你出了什么问题?通过你最喜欢的浏览器和开发工具检查响应。查看它是否返回成功的HTTP状态为200。尝试通过url自己调用php,跳过所有ajax并查看显示的内容。检查浏览器开发人员工具中的“网络”选项卡,查看响应代码。并检查服务器上的Web服务器和PHP日志。