3

问题

我在本地主机 (WAMP) 上开发的站点上的所有 AJAX 调用都收到相同的错误(500 内部服务器错误)。我开始认为这可能是我的服务器的设置方式。也许我错过了 PHP 扩展或什么?任何帮助将非常感激。

测试

我知道代码工作正常,因为我已经导航到浏览器上的 ajax 操作。此外,代码实际上将数据保存到数据库中,因此我知道它正在找到正确的脚本并正常运行。

代码

我已经简化了代码以使测试更容易。

JS

    $.ajax({type: 'GET',
        url: '/cms/performances/deleteperformance',
        data: 'id=' + id,
        dataType: 'json',
        success: function(result)
        {
            switch(result)
            {
                case 1:
                    //Refresh the page
                    location.reload();
                    break;
                case 0:
                    alert('error');
                    break;
                case 2:
                    alert('Incorrect call');
                    break;
                default:
                    alert('default');
                    break;
            }
        },
        error: function(xhr, ajaxOptions, thrownError)
        {
            var httpCode = xhr.status;
            alert(httpCode + ': ' + thrownError);
        }
    });

PHP

public function deleteperformanceAction()
{
    $this->_helper->layout()->disableLayout();
    $this->_helper->viewRenderer->setNoRender(true);
    echo json_encode(1);
}
4

2 回答 2

14

在 PHP 的顶部添加以下代码:

ini_set('display_errors', 1); 
error_reporting(E_ALL);

这将向您展示您的 PHP 代码中的问题所在。如果是语法错误(代码 500 似乎很可能),那么您需要在您的php.ini,httpd.conf.htaccess文件中启用这些选项。或者,只需在您的 Web 服务器错误日志中查看该问题。

500 错误不是您的 JS 的问题 - 它是服务器端的。

于 2012-04-08T19:49:24.917 回答
4

我终于明白了这一点。事实上,代码没有任何问题。但是,我确实有一个在引导过程中没有找到的插件。然后通过我的错误处理程序运行,该处理程序将标题更改为 500。一旦我删除了未找到的插件,一切都很好。

我想这是愚蠢的错误!

于 2012-04-21T17:46:52.903 回答