总结
豆包 AI 助手文章总结

关于json_encode()困惑

php中文网
发布: 2016-06-23 13:43:48
原创
1045人浏览过

在控制器里我是这样写的

然后我在一个文本里输出了Json格式是这样的;

可是接收端老提示系统错误,百度了下说是编码不对,可我接收端开头已经写了

并且发送端控制器里也指定了UFT-8编码。
现在接收端就是接受不了数据说是系统错误。。

我用window.alert("ok");能成功
证明数据返回来了,可是错误处在VAR T这里老提示系统错误。。
请问怎么解决啊?
能否提供下代码?


回复讨论(解决方案)

header("Content-type: application/json")
试试

header("Content-type: application/json")
试试


不行啊在接收页面加入这句话把整个页面给我返回过来了。。关键的是数据还是没有获取到

提示的系统错误是错误: 系统错误: -1072896658。
这该怎么办啊

如果要返回json数据,你必须返回‘标准’的json数据, 这里说的标准不只是对于你json数据是标准的,而是在你的返回值中不能包含其他的非法项!
出现这种错误有可能是你在返回json数据之前或之后已经有了其他输出, 比如文件BOM头,我前几天就遇到了这种情况,我的php文件编码成UTF-8但是移植到linux下文件开头多了一个这个字符

-<?php................
登录后复制

就是那个小 -让我纠结了好久,最后把文件前面的 -全部删掉就好了!
也有可能你的其他部分的代码有输出 比如一个空格或者其它的什么东西!

4楼的我不明白我查看了我要输出的JSON数据,格式没问题可现在是我这边接收不到值
 var t = myxml.responseText ;
这句话就是老出错,表示就是接受不到

Ajax 系统错误: -1072896658

如果XMLHttpRequest对象请求的文档未指定正确的utf-8编码,调用responseText方法时就会出现这个错误
浏览器系统错误:-1072896658(Explorer system error: -1072896658)

换个浏览器试试呢

虽然你在代码中加上了charset=utf8
但是你的PHP文件的实际编码是什么格式呢?

然后我在一个文本里输出了Json格式是没问题的, 中文使用了utf8编码。在前端javascript代码中增加类似下面的代码:

        data = eval('(' + data + ')');  // 假设收到的内容保存在data中。 

不行的话,你把所有牵涉的文件 
*.php的都加上 header("Content-Type: text/html;charset=utf-8");
包括html文件中,嵌入javascript的地方加上charset="utf-8"    <script></script>

你页面编码是否utf8?

把你那个Ajax对象就是myxml里面代码贴出来看看

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号