找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 568|回复: 0
打印 上一主题 下一主题

php中使用Ajax时出现Error(c00ce56e)的详细解决方案

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:53:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            今天在写代码的时候,用到ajax异步获取数据,在firefox 13.0下一切正常,而在各个版本的IE之下测试IE6正常,IE8却会报错 "Error: 由于出现错误 c00ce56e 而导致此项操作无法完成"。因为firefox是我写代码和做测试的浏览器,所以一般都会首先保证在它下边的正确性,firefox下一切看起来都那么正常。
我的环境是:js代码是基于jQuery的、使用了异步加载的方式加载各个js类库、请求方式是'GET',返回格式'html';
由于之前的工作阶段性的完成,所以准备在IE下看看是否正常,一看之下,有点郁闷,没有反应..数据没有显示出来。然后在IE下,F13,发现IE下请求数据的过程没有问题,而且在控制面板中也获取到了数据,但是当我使用$('#id').html(data);往DOM中插入数据时,完全无反应。
继续调试,然后我在$.ajax请求的error参数选项中,alert其传递给回调函数的errorThrown参数时,获取到了如下错误:“由于出现错误 c00ce56e 而导致此项操作无法完成。”,这个很关键,因为弹出的错误是有代码的,所以这是一个有迹可循的错误。
这里顺便说一句,在firefox下ajax请求是返回success的,而IE下是返回error的。根据这个错误提示,在网上搜索了相关的答案,找到比较有用的说法是编码不一致。经过查找发现,原来我html页面的编码是utf-8,而在我php程序中设置的也是 header('Content-type: text/html;charset=utf-8'); 这都郁闷了,一样的都没有问题啊,后来查看页面源代码的时候发现怎么是utf8呢,少了一个'-'这个'-'跑哪去了,后来才发现原来nginx配置中设置了charset utf8;强制字符编码为utf8了, 赶紧加上重启nginx一切正常。。。
根据这个问题可以总结如下经验:
firefox的容错能力比IE更强,以HTML5的设计思想来说,firefox表现得更好,对于这样的容错能力,是否会造成安全隐患,由于未经过测试,所以暂时不知;
尽量保持程序的各种编码的一致性,否则可能会出现不可预知的错误,推荐使用utf-8;
            
            
您可能感兴趣的文章:
  • 解决AJAX中跨域访问出现''没有权限''的错误
  • Ajax.net Sys未定义错误解决办法
  • Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
  • 使用jquery 的ajax调用总是错误亲测的解决方法
  • 解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
  • 空格或者空白字符导致$.ajax()报parseerror错误小结
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端