1

当我尝试通过 JQ $.post 函数访问global_info控制器时,我遇到了 500 内部服务器错误,这仅发生在此函数中。

CI控制器代码:

function gi_get_ad_payment_code()
        {
            $q = $this->db->get_where('code_payment', array('code' => $_POST['code']));
            if ($q->num_rows() == 0 ){
                show_error('Whoops, no results :(');
            } else
            {
                 $q = $q->row();
                 echo $time = substr($q->code, 12, 2);
            }

JQ代码:

var forma = $('form#mali_oglas'),
pomoc = $('div[role=pomoc]'),
div = $('.mali_oglas_pomoc'),
input = forma.find('input, textarea'),
code = forma.find('#code'),
cct = $.cookie('csrf_token_name');

code.on('focusout', function(){
    var url = '<?php echo base_url() ?>global_info/gi_get_ad_payment_code',
    data = $(this).val();
    $.post(url, {code : data, 'csrf_token_name': cct}, function(){
        console.log(code);
        $('.mali_oglas_img_paid').slideDown('slow');
        code.after('<input type="hidden" name="time" value="'+ data +'" />');
        code.after('<input type="hidden" name="paid" value="1" />');
    });
});

当我尝试其他一些控制器时,它工作正常(我也在其他地方使用 $.post 控制器不是global_info并且一切正常)。这里似乎有什么问题?

4

1 回答 1

0

我曾经在 CI 中也遇到过这个问题,基本上它与控制器文件的编码(UTF-8、ANSI、...)有关。我还重新创建了解决我的问题的控制器。

顺便说一句,在您的视图中制作 URL 的一种更简洁的方法是<?php echo base_url('global_info/gi_get_ad_payment_code'); ?>

于 2012-11-19T12:32:33.250 回答