Home > Article > Backend Development > 关于json_encode()困惑
在控制器里我是这样写的
然后我在一个文本里输出了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里面代码贴出来看看