Ajax调用给出错误500

时间:2014-03-06 11:24:24

标签: php jquery ajax

我的域名中有两个带有php的文件夹。从一个文件我想通过使用ajax调用将数据发送到另一个文件。这个电话在localhost上为我工作,但是当我在实时服务器上安装我的网站时,它会在同一个ajax调用上给出 500错误吗?

我该如何解决这个问题?

我的ajax电话如下:

var data_to_send = {};

j.ajax({
          url : '../orangehrm/symfony/web/index.php/auth/login',
          type: "POST",
          data : data_to_send,
          async: false,
          success: function(data, textStatus, jqXHR)
          {
              time_zone = j(data).find('#hdnUserTimeZoneOffset').val();
          },
          error: function (jqXHR, textStatus, errorThrown)
          {  
          }
      });

3 个答案:

答案 0 :(得分:0)

您的ajax通话没问题(作为通话,无法说明您在那里发布的内容)。

错误500 =服务器端出错。它可能来自脚本中的错误类型的函数名称或类似于杀死脚本的错误配置。激活服务器上的日志记录,或激活服务器上的显示错误(您可以通过简单的谷歌类型轻松找到这一点。)

此处的完整代码列表:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes(您可以看到500是一般错误)。

现在......一些疯狂的猜测:既然你说你的本地服务器没问题,但是现场爆发,有一些常见的嫌疑人......其中一个就是文件权限。在你的本地服务器上你是一个上帝,而在现场你很好......不太上帝。如果您的php脚本上传文件或在光盘上写入内容,请检查运行apache的用户是否有权访问/读取/写入特定内容。

另一个常见的嫌疑是数据库连接(万一你有)。现场证书可能有所不同。

另一个...... php版本/ php扩展/ php配置(例如短标签)。

再次......它可能是任何东西......但通常我已经看到人们会犯错误。

答案 1 :(得分:0)

500号错误是服务器端异常 - 在Apache或IIS或其他任何地方出现问题。要确定这是什么,您可以检查服务器上的错误日志(Windows上的事件查看器),或打开Web服务软件中的“详细错误消息”以获取远程请求,以查看返回浏览器的更多信息 - 在本地浏览服务器可以产生同样的效果。

答案 2 :(得分:0)

500 http代码表示您的服务器在访问的网址上返回Internal Error。 尝试在没有Ajax的情况下访问该URL,然后尝试警告该URL(请参阅下面的代码),复制提醒的字符串并将其粘贴到您的浏览器中,以查看您是否指向所希望的资源。这是因为你的网址看起来很差,指的是另一种东西而不是希望。

调试代码

   var data_to_send = {},
        _url='../orangehrm/symfony/web/index.php/auth/login';

    //console.log(_url);
    alert(_url);//copy this alerted _url and paste in the browser

    j.ajax({
      url : _url,
      type: "POST",
      data : data_to_send,
      async: false,
      success: function(data, textStatus, jqXHR)
      {
          time_zone = j(data).find('#hdnUserTimeZoneOffset').val();
      },
      error: function (jqXHR, textStatus, errorThrown)
      {  
      }
  });