1

PHP を ajax で呼び出そうとしていますが、500 がスローされます。何かアイデアはありますか?

ajax がロードしようとしているファイルのエラー コード 500 が表示されます。

このコードは Google 統計からデータを取得しています - ボタンが ajax 経由で押された場合に取得される私のサイトの統計を表示しています。

PHP 私は ajax で呼び出しています:

add_action('wp_ajax_rs_ajax_statistics', 'rs_ajax_statistics');
function rs_ajax_statistics() {

try {
  $optParams = array();

    // Required parameter
    $metrics    = 'ga:uniquePageviews';
    $start_date = date('Y-m-d',  strtotime('-10 years'));
    $end_date = date('Y-m-d');

    //Current page path
    $path_name = $_SERVER['REQUEST_URI'];

    $optParams['filters'] = 'ga:pagePath==' . $path_name;

    $result = $analytics->data_ga->get( $analytics_id,
            $start_date,
            $end_date, $metrics, $optParams);

    // Everything is OK
    if( $result->getRows() ) {
        $views_overall = $result->getRows()[0][0];
        echo $views_overall;
    }
} 
// Something is wrong
catch(Exception $e) {
    //echo 'There was an error : - ' . $e->getMessage();
} 
}

Ajax 呼び出し:

    //Statistics
    var statistics = $('a.statistics');
    var statisticsMessage = $('div.meta-extra');


        statistics.click(function() {

                console.log('Great!');

                jQuery.ajax({
                    url: ajaxURL,
                    type: "get",
                    dataType: "json",
                    data: {
                        'action': 'rs_ajax_statistics'
                    },
                    success: function(msg) {
                        statisticsMessage.html(msg);
                    },
                    error: function() {

                    }
                }); 
        });
4

1 に答える 1

2

ajax 呼び出しで返されたエラーをログに記録します

error:function (errorcode, errormsg) {
    console.log (errorcode + ' ' + errormsg);
}

編集 最終的な答えは次のとおりです。常にエラー報告をオンにして、表示されたエラーを解決する必要があります。

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

require を使用する場合は、絶対パスを使用する必要があります。アプリケーションルートにある場合は$_SERVER['DOCUMENT_ROOT']、絶対パスを取得するために使用できます。それ以外の場合は、http://php.net/realpathrealpath($relative_path)を参照してください。

于 2015-11-23T23:58:42.007 に答える