2015-11-23 7 views
1

Я пытаюсь вызвать PHP с ajax, но он бросает мне 500, любые идеи?Получение странной ошибки 500 с помощью ajax

Я получаю код ошибки 500 для файла, который пытается загрузить ajax!

Этот код извлекает данные из Google Statistics - Im показывает статистику на моем сайте, которая извлекается, если кнопка нажата через ajax.

PHP Im вызова с помощью 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() { 

        } 
       }); 
     }); 

ответ

2

Регистрирует ошибку вы получите обратно в Ajax вызова

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

Редактировать Окончательный ответ: Вы всегда должны включать отчет об ошибках и разрешать отображаемые ошибки.

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

При использовании требуется использовать абсолютный путь. Если в корне вашего приложения вы можете использовать $_SERVER['DOCUMENT_ROOT'], чтобы получить свой абсолютный путь. В противном случае вы можете использовать realpath($relative_path) см. http://php.net/realpath.

+0

Я думаю, что я должен забыть этот вопрос. Проблема заключается в том, что аутентификация Google не работает с ajax. Не знаю, почему и я сомневаюсь, что я найду всех, кто работал с такими конкретными API в ближайшем будущем. – Solo

+0

У вас должна быть возможность аутентифицироваться через ajax в службах Google. Ajax-вызов - обычный HTTP-запрос. – Ben

+0

Кажется, что я не могу использовать 'require_once()', чтобы получить 'google-api-php-client' & I ​​get' PHP Fatal error'. Я не могу аутентифицироваться без него, потому что у него мало классов, которые мне нужны в моем коде аутентификации. Является ли 'require_once()' обычно полезным в ajax? – Solo

 Смежные вопросы

  • Нет связанных вопросов^_^