1

我试图用 ajax 调用 PHP,但它给了我 500,有什么想法吗?

我收到错误代码 500,因为 ajax 正在尝试加载文件!

此代码正在从 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();
} 
}

阿贾克斯调用:

    //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']来获取您的绝对路径。否则,您可以使用realpath($relative_path)查看http://php.net/realpath

于 2015-11-23T23:58:42.007 回答