【问题标题】:ajax call occuring internal server errorajax调用发生内部服务器错误
【发布时间】:2015-12-27 05:32:54
【问题描述】:

我正在做ajax call。并且每次发生500 Internal server error 失败时。但是客户端代码没有错误

JavaScript 代码:

$.ajax({
    url:"test.php",
    type:"POST",
    dataType:"html",
    data:{
        userInput:userInput /* userInput is some text value */
    }
});

PHP 代码:

<?php
    $con=mysqli_connect("localhost","root","password","test");
    $user_data=$_POST['userInput'];
    echo $user_data;
?>

每次我在控制台看到这些错误代码时:

POST XHR http://localhost/test.php[HTTP/1.0 500 Internal Server Error 1ms]

如果您需要更多信息,请询问我

NB:我在这个社区发现了很多问题。 这些都没有解决我的问题

【问题讨论】:

  • 你从哪里得到的想法是有一个 500 错误?它非常清楚地表明 404 Not Found,这表明 url (localhost/test.php) 不正确。还可以尝试在$.ajax 调用中添加成功和错误回调,以便您可以在此处记录更多信息
  • 你确定test.php实际上位于服务器的根目录?
  • 你确定test.php和你使用ajax的文件在同一个目录吗?
  • @EmirMarques:这是帖子,看代码时很清楚。对 OP:您实际上遇到了什么错误?原来是404,你现在改成500了,是哪个?再说一遍:添加一个成功/错误回调,然后执行一个简单的console.log(arguments) 并查看传递给这些函数的内容
  • @partho:语法错误?下一次:请发布您正在使用的实际代码,我们大多数人都能够很快发现。语法错误返回 500 状态也就不足为奇了:无效语法意味着 php 可能给出了一个致命错误,因为它无法运行无效代码。在我看来,这是一个内部服务器错误

标签: javascript php jquery ajax internal-server-error


【解决方案1】:

我认为内部服务器错误是由于未启用 mysqli 扩展的 mysqli_connect 函数调用造成的。尝试phpifo() 验证 mysqli 扩展是否已启用

【讨论】:

  • Client API library version 5.5.44 Active Persistent Links 0 Inactive Persistent Links 0 Active Links 0 Client API header version 5.5.44 MYSQLI_SOCKET /var/run/mysqld/mysqld.sock Directive Local Value Master Value mysqli .allow_local_infile On On On mysqli.allow_persistent On On On mysqli.default_host no value no value mysqli.default_pw no value no value mysqli.default_socket /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.sock mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.max_persistent Unlimited Unlimited mysqli.reconnect Off Off
  • 你怀疑是对的。注释掉mysqli_connect 我没有看到任何错误。 mysqli 未启用。我正在尝试启用它。请帮帮我?使用ubuntu 14.04 LTS
【解决方案2】:

您可以在执行回调时捕获错误.. 示例:

$.ajax({
    url:"test.php",
    type:"POST",
    dataType:"html",
    data:{
        userInput:userInput /* userInput is some text value */
    }
}).success(function() {
    window.alert('Ajax completed successfully');
}).error(function() {
    window.alert('An error has occurred');
});

【讨论】:

    猜你喜欢
    • 2015-02-07
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多