• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于json_encode()困惑

php 搞代码 3年前 (2022-01-23) 18次浏览 已收录 0个评论
文章目录[隐藏]

在控制器里我是这样写的

然后我在一个文本里输出了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%本文来源gaodai#ma#com搞*代#码9网#搞gaodaima代码=utf-8″);
包括html文件中,嵌入javascript的地方加上charset=”utf-8″ <script type=”text/javascript” charset=”utf-8″></script>

你页面编码是否utf8?

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于json_encode()困惑

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址