【问题标题】:AJAX returning ERR_CONTENT_DECODING_FAILED 200 using CodeigniterAJAX 使用 Codeigniter 返回 ERR_CONTENT_DECODING_FAILED 200
【发布时间】:2018-09-23 09:11:44
【问题描述】:

我在同一页面上有两个 AJAX 请求将数据发送到 Codeigniter 框架。

发送一个包含商店营业时间的输入字段表单。这可以正常工作。

$(".hour-field").blur(function(){
$.ajax({
       url:'<?php echo base_url(); ?>businesses/updatehours',
       type: 'POST',
       dataType: 'json',
       data: $("#edit-hours").serialize(),
       success: function(data){
           console.log(data);
       },
       error: function(data){
           console.log(data)
       }
   });
});

另一个从无线电输入表单发送数据。这个返回 ERR_CONTENT_DECODING_FAILED 200

$(".image-selector").click(function(e){
$.ajax({
       url:'<?php echo base_url(); ?>businesses/selectimage',
       type: 'POST',
       dataType: 'json',
       data: $("#select-image").serialize(),
       success: function(data){
           console.log(data);
       },
       error: function(data){
           console.log(data)
       }
   });
});

我已尝试删除“dataType”但没有成功。

两者似乎没有区别,但一个不起作用。

【问题讨论】:

  • 你能分享你的 HTML 代码或做一个 jsfiddle 链接吗?
  • 设置 $config['compress_output'] = FALSE 将完成(脏)工作,但您还应该检查是否将空结果对象或数组传递给控制器​​上的 json_encode() 函数,或者型号..

标签: php jquery ajax codeigniter


【解决方案1】:

在您的配置文件中添加此代码:

$config['compress_output'] = FALSE;

在 php.ini 中启用 gzip 压缩:

zlib.output_compression=On

【讨论】:

  • 我会试试这个。配置文件是codeigniter配置文件吗?谢谢
  • zlib.output_compression=On 可以通过每个域的 htaccess 完成吗?
  • 我没有设法在我的 .htaccess 文件中添加任何内容,但它似乎工作正常。也许我在 plesk 中有一些设置。
  • 我现在有一个奇怪的问题,即第一次单击单选字段时没有通过 ajax 请求提交表单数据,因此我的 php 脚本由于表单变量不存在而引发错误。随后的压力机确实有效。
猜你喜欢
  • 2021-02-28
  • 2015-10-13
  • 2011-10-27
  • 2017-03-23
  • 2021-05-13
  • 1970-01-01
  • 2016-07-30
  • 1970-01-01
  • 2018-06-25
相关资源
最近更新 更多