AJAX Post to PHP返回500内部错误

时间:2014-11-04 17:01:32

标签: php jquery ajax post

我在AJAX请求返回500内部服务器错误时遇到问题,代码在运行MAMP的本地计算机上正常运行,但是一旦我将其移动到另一台服务器就会出现500错误

我已经看到有些人遇到了类似的问题,但是大部分案例都导致代码中出现拼写错误,这段代码与MAMP上的预期完全一致。

非常感谢任何建议

由于

// Login AJAX

$('#login_form').on('submit', function(e) {

e.preventDefault();

var data = $(this).serialize();

$.ajax({
    url: 'core/process_login.php',
    type: 'post',
    data: {'formdata' : data},
    dataType:'json',
    success: function(data) {
        if(data.login_status === "failed") {
            alert(data.error_msg);
        }

        if(data.login_status === "success") {
            window.location.replace("/index.php");
        }
    }
});
});

<?php 

require('init.php');

$formdata = $_POST['formdata'];

parse_str($formdata);

if ($ldap->authenticate($username, $password)) {

    if ($ldap->user()->inGroup($username, "_BMSUsers")) {

        if(userProfileExists($username)) {

            createUserSession($username);

            $return = array("login_status" => "success");

            echo json_encode($return);

        } else {
            createUserProfile($username);

            createUserSession($username);

            $return = array("login_status" => "success");
            echo json_encode($return);
        }

    } else {

        // User is not part of the _BMSUSers AD group and therefore does not have sufficient permissions
        $return = array("login_status" => "failed", "error_msg" => "You do not have permission to access the BMS System. If you think this is a mistake, please contact the IT Department.");
        echo json_encode($return);
    }

} else {
    $return = array("login_status" => "failed", "error_msg" => "Username/Password Incorrect");
    echo json_encode($return);
}

?>

3 个答案:

答案 0 :(得分:1)

问题可能与两个服务器上的php版本不同,我想你正在使用some.outdated函数。 500内部错误是服务器端错误而不是客户端

答案 1 :(得分:0)

尝试配置自定义uploadifive脚本时遇到此问题。解决方案是将它移动到我自己的服务器,它工作正常。您最好联系webhost并要求他们进行调查,因为他们可以使用错误日志。

答案 2 :(得分:0)

我找到了错误的根源,init.php引入了包含一些短标签的db_connection和ldap_connection文件,启用短标签/添加长标签解决了这个问题。

感谢大家的帮助。