ajax 出现奇怪的 500 错误
Getting a weird 500 error with ajax
我正在尝试用 ajax 调用 PHP,但结果是 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() {
}
});
});
记录您在 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.
我正在尝试用 ajax 调用 PHP,但结果是 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() {
}
});
});
记录您在 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.