簡體   English   中英

500 內部服務器錯誤 - 所有 Ajax 調用,PHP

[英]500 Internal Server Error - All Ajax calls, PHP

問題

我在本地主機 (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);
}

在您的 PHP 頂部添加此代碼:

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

這將告訴您 PHP 代碼中的問題所在。 如果這是一個語法錯誤(對於代碼 500 來說似乎很可能),那么您需要在php.inihttpd.conf.htaccess文件中啟用這些選項。 或者,只需查看 web 服務器錯誤日志中的問題。

500 錯誤不是您的 JS 的問題 - 它是服務器端的。

我終於弄清楚了。 事實上,代碼沒有任何問題。 但是,我確實有一個在引導過程中沒有找到的插件。 然后這是通過我的錯誤處理程序運行的,它將 header 更改為 500。一旦我刪除了未找到的插件,一切都很好。

我想是愚蠢的錯誤!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM