Я пытаюсь вызвать PHP с помощью AJAX, но он бросает мне 500, какие-нибудь идеи?
Я получаю код ошибки 500 для файла, который пытается загрузить ajax!
Этот код извлекает данные из статистики Google — я показываю статистику на моем сайте, которая выбирается при нажатии кнопки через ajax.
Я звоню с помощью 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 Call:
//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() {
}
});
});
Зарегистрируйте ошибку, которую вы получите в своем вызове 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.
Других решений пока нет …