Проблема использовать ajax POST с codeigniter - PullRequest
0 голосов
/ 29 сентября 2018

Я работаю над проектом, похожим на систему заявок, иногда требуются очень длинные ответы, в области ответов я использую CKEDITOR, в то время как набираемый агент автоматически сохраняет изменения в базе данных с помощью Json GET, но некоторыедлинные ответы не работают, появляется следующая ошибка:

    Request-URI Too Long
The requested URL's length exceeds the capacity limit for this server.
Additionally, a 414 Request-URI Too Long error was encountered while trying to use an ErrorDocument to handle the request.

Я обнаружил, что это вызвано использованием GET, и мне посоветовали изменить его на POST, после этого у меня нет этой ошибки, теперь я получаю 403 запрещено

это код json

CKEDITOR.replace('consulta-body', {
  height: '300',
  on: {
      change: function( evt ) {
            for ( instance in CKEDITOR.instances ){
              CKEDITOR.instances[instance].updateElement();
            }
          var BodyText = $('#consulta-body').val();
          console.log( BodyText ); 

          var FormData = {};
          FormData['update'] = '1';
          FormData['id'] = <? echo $this->uri->segment(3);?>;
          FormData['name'] = 'previo';
             FormData['val'] = BodyText;
          $.ajax({
            dataType: 'json',
            type: 'POST',
            data: FormData,
            url: '<?echo base_url('consultas/ver/1212');?>',
            beforeSend: function(){},
            success: function(Response){}
          });
        }
  }
});

Заранее спасибо

РЕДАКТИРОВАТЬ: Попробовал это, никаких ошибок ничего на консоли, но это не таксохранение в базу данных

CKEDITOR.replace('consulta-body', {
  height: '300',
  on: {
      change: function( evt ) {
            for ( instance in CKEDITOR.instances ){
              CKEDITOR.instances[instance].updateElement();
            }
          var BodyText = $('#consulta-body').val();
          console.log( BodyText ); 

        var FormData = {};
          FormData['<?php echo $this->security->get_csrf_token_name(); ?>']
                       = '<?php echo $this->security->get_csrf_hash(); ?>';
          FormData['update'] = '1';
          FormData['id'] = <? echo $this->uri->segment(3);?>;
          FormData['name'] = 'previo';
             FormData['val'] = BodyText;
          $.ajax({
            dataType: 'json',
            type: 'POST',
            data: FormData,
            url: '<?echo base_url('consultas/ver/1212');?>',
            beforeSend: function(){},
            success: function(Response){}
          });
        }
  }
});

1 Ответ

0 голосов
/ 29 сентября 2018

Я полагаю, что вы получаете это, потому что <?echo base_url('consultas/ver/1212');?> генерирует ошибку.

Вы можете написать это так:

<?php echo base_url('consultas/ver/1212'); ?>

ИЛИ какэто:

<?= base_url('consultas/ver/1212'); ?>

См .: https://www.codeigniter.com/user_guide/general/alternative_php.html

обратите внимание, что эта ошибка появляется несколько раз в вашем коде, поэтому пересмотрите все ошибочные блоки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...