ajax获取后台json数据莫名其妙出现空格
2017-07-21 23:23
330 查看
最近在做项目的时候,跟后台php用ajax连的时候出现了一个很奇葩的问题,当dataType参数为json时,报错误200。这个错误通常意味着后台返回的数据不是json。把dataType设置为text,通过输出返回字符串的长度等各种操作,发现返回回来的数据开头有空格。之前做项目的时候也采取类似的方式进行前台的联系,但都没有出现类似问题。
最后发现,因为我用的服务器是windows(临时的),服务器上的编辑器为记事本。而在windows环境下的记事本的默认编码方式为utf-8 with BOM。后面的BOM即是罪魁祸首。而我的组员又非常不规范的在服务器上修改了项目文件,即将php文件保存为utf-8 with BOM格式,所以才产生bug。
我的解决方式是换一个编辑器,重新保存所有的php文件,注意将其编码格式设置为utf-8。
这个问题告诉我们:
1.服务器用linux的好处(这里我是被迫用windows)
2.windows的坑比(我已经准备用mac os的电脑做开发了)
3.不应该直接到服务器上修改项目文件(直接改的人应该拖出去砍了)
最后发现,因为我用的服务器是windows(临时的),服务器上的编辑器为记事本。而在windows环境下的记事本的默认编码方式为utf-8 with BOM。后面的BOM即是罪魁祸首。而我的组员又非常不规范的在服务器上修改了项目文件,即将php文件保存为utf-8 with BOM格式,所以才产生bug。
我的解决方式是换一个编辑器,重新保存所有的php文件,注意将其编码格式设置为utf-8。
这个问题告诉我们:
1.服务器用linux的好处(这里我是被迫用windows)
2.windows的坑比(我已经准备用mac os的电脑做开发了)
3.不应该直接到服务器上修改项目文件(直接改的人应该拖出去砍了)
相关文章推荐
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- Ext2.2+json+jsp获取后台数据的问题 --Ajax
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- 通过jquery封装的ajax获取后台json数据
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- 使用Ajax获取后台返回的Json数据后,页面处理
- token获取不到,原来是数据格式的问题 要和后台的数据格式一致,$.ajax中contentType: “application/json” 的用法
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
- 给ajax留一个模板,通过后台传递json获取数据,并用table显示,方便以后使用
- ajax获取后台数据,页面Json数据按照json格式化输出
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
- java后台设置可跨域访问,前端ajax获取json数据,解决浏览器限制跨域访问的问题
- ajax接收java后台传过来的json数据乱码及获取字段undefind问题
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- ashx 获取ajax Post到后台json数据
- struts2 + ajax(从后台获取json格式的数据返回到前端,然后前端用jquery对json数据进行解析)