【问题标题】:AJAX/Code Igniter throws parsererror, method not calledAJAX/Code Igniter 抛出 parsererror,方法未调用
【发布时间】: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


【解决方案1】:

我希望这是适当的,因为这个问题的生命周期很短。我发现了问题所在:

$route["annotate/(:any)"] = "annotate";

显然,呼叫将被重定向,因此"annotate/sync" 被重定向到简单的"annotate/"。我想我必须更多地阅读 CodeIgniter 的路由。

【讨论】:

    【解决方案2】:

    请删除 dataType: 'json' 因为它没有响应我看到的任何 json 数据。还要检查是否正确给出了网址

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 2017-10-28
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多