【发布时间】:2016-06-09 18:58:06
【问题描述】:
我目前正在尝试调试 Code Igniter (3) 方法。我有一个名为sync 的方法,它在数据库中同步(保存)表单数据。它使用 jQuery/AJAX 调用。单击提交按钮后,它返回一个状态码为 200 的 XHR(以及一个空的响应文本)——表明调用本身似乎是成功的,但它仍然会引发解析器错误。我放置了一些log_message() 标志以找出该方法似乎崩溃的位置:
public function sync(){
$i = 0;
log_message('debug',"Flag ".$i);
$i++;
// ... Steps in between, etc.
但是日志系统并没有注册任何东西,这表明同步方法似乎没有被调用。我确信 AJAX 调用中提交的路径是正确的:
$("#sync-btn").click(function(){
var form = $("#annotation-sync");
var submit_form_data = form.serialize();
console.log(submit_form_data);
$.ajax({
type :'POST',
url : "http://localhost/Project/"+"index.php/annotate/sync",
data : submit_form_data,
dataType: 'json',
encode : 'true',
beforeSend: function(){
timeout = setTimeout(function(){
form.find(".load").fadeIn();
}, 1000);
},
success: function(res) {
console.log(res);
$(".navbar-header button").prop("disabled",true);
},
error: function(jqXHR, errorThrown) {
console.log('jqXHR:');
console.log(jqXHR);
console.log('errorThrown:');
console.log(errorThrown);
}
})
有谁知道如何调试这种错误?
【问题讨论】:
-
你的包包清爽了吗?
-
@madalinivascu 不,不是。也不应该这样。
-
你不能有解析错误并返回200响应,通常你会得到500错误,你是否启用错误报告
-
@madalinivascu 谢谢,我想通了。很抱歉造成混乱。
标签: php jquery ajax codeigniter