Ajax XHR返回500错误,但PHP文件有效

时间:2018-10-10 01:39:42

标签: javascript php jquery ajax xmlhttprequest

index.html(运行此Ajax请求时返回500错误)

function checkUnread(username) {
  $.ajax( {
    type: "POST",
    url: "http://www.projecttranslation.org/cvlgbt/www/web/unreadcount.php",
    data: { user: username },
    cache: true,
    success: function ( data ) {
      alert(data);
    }
  })
}

unreadcount.php(单独运行时效果很好)

<?php

header('content-type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: *'); 

$link = new mysqli(BLOCKED FOR SECURITY REASONS);

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "1";

$result->close();

$link->close();

很显然,出于调试和安全目的,我删除了一些完整的代码,但这是我要尝试做的事情:

当用户登录时,我希望checkUnread()检查数据库中是否有未读消息,计算有多少,然后通过Ajax XHR返回该数字。一旦Ajax获得了结果,它就会动态地将其注入到底部工具栏样式的jQuery Mobile菜单中,以显示“未读计数”,例如“邮件[2]”。如果那有道理...有什么想法为什么会返回500错误?

1 个答案:

答案 0 :(得分:1)

我访问了您的链接,但控制台中的状态码为500。 而且我注意到您在代码中使用了未定义的var $result

$result->close();

我怀疑此代码是原因。如果我错了,请检查您在php-fpm.conf中配置的错误日志并将其发布