如何修复“ 500内部服务器错误”以响应ajax调用

时间:2019-03-24 18:36:55

标签: ajax wordpress

我正在尝试通过ajax调用从表中获取数据。但我收到“ 500内部服务器错误”的响应。

ajax调用的脚本如下

    jQuery(document).ready(function(){     jQuery(“#btn_add_section”)。on(“ click”,function(event){         jQuery.ajax({             网址:“,             类型:“ post”,             数据:{                 动作:“ getsections”,             },              dataType:'json',             成功:功能(响应){                 警报(响应);                 调试器;             }         });         event.preventDefault();     }); });

在functions.php中调用的方法如下

function getsections() {

$output = array();
$query = "SELECT * FROM wp_sections WHERE sec_status = 1";
$result = $wpdb->get_results($query);
if(!empty($result)){
foreach($result as $row) {
array_push($output, array('sec_id'=>$row->sec_id, 'sec_title'=>$row->sec_title));
}
}

wp_send_json($output);
die;
}

add_action('wp_ajax_nopriv_getsections','getsections'); add_action('wp_ajax_getsections','getsections');

2 个答案:

答案 0 :(得分:0)

JavaScript不介意尾随逗号,而JSON则:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas

尝试从中删除结尾的逗号

jQuery.ajax({url:'',type:'post',data:{action:'getsections',}

它变成

jQuery.ajax({url:'',type:'post',data:{action:'getsections'}

此状态可能是模型状态无效,因此服务器无法处理请求。

答案 1 :(得分:0)

“ die”是一个函数,因此应使用括号die();

来调用