JSon不能执行回调函数的原因
来源:互联网 发布:取绝对值函数sql 编辑:程序博客网 时间:2024/05/17 02:36
通过
$.getJSON(url,function (data) {
}函数调用JSON服务,回调函数没能正确执行的主要原因就是服务器返回的JSON格式不正确,
具体表现在:
1.Response.ContenType没有正确设置:
context.Response.ContentType = "application/json"; (c#环境)
2.JSON格式组装错误。
对于第2点很容易犯错,由于服务端JSON字符串基本都是从数据库读出的字段拼成,如果不注意控制字段的格式,就可能造成最后返回的并非JSON串。
例如:
foreach(DataRow dr in dt.Rows){ content += string.Format("{{/"Id/":/"{0}/",/"Title/":/"{1}/",/"TitleShort/":/"{2}/",/"PubDate/":/"{3}/"}},", dr["id"].ToString(), dr["Title"].ToString().Replace("/"", ""), dr["TitleShort"].ToString().Replace("/"", ""), dr["PubDate"].ToString()); }
对于以上组装JSON字串的代码,最重要的就是对”的控制,如果读出的字段中有”而没有去掉,则会破坏JSON格式,客户端就不会认为是一个JSON返回报,从而不会激发回调函数。
JSON虽好用,但其对语法格式控制过于严格,是其弊端之一。
OVER
- JSon不能执行回调函数的原因
- JSON未定义及IE浏览器不能得到JSON数据(不执行success参数后的回调函数)
- ajax+struts2不执行回调函数的原因解析
- 解决:Stusts2+JQuery+JSON回调函数无法执行问题原因之一~
- Ajax 回调函数不执行原因之一
- jQuery $.post()返回类型为json时不进入回调函数的原因及解决方法
- ajax的success回调函数不触发原因解析以及json对象知识总结
- jquery ajax post 回调函数不执行的原因分析和解决办法
- jquery ajax post 回调函数不执行的原因分析和解决办法
- ajax异步请求不执行回调函数的bug原因之一
- 跨域请求 数据返回却无法执行回调函数的原因之一
- 在jquery下遇到的不能正确执行回调函数的问题
- 回调函数引起的控件自定义事件不能执行现象一例
- UITableView回调函数的执行顺序
- 回调函数 异步执行
- 回调函数接不到值的原因
- C++回调函数必须为静态函数的原因
- 关于js的callback回调函数以及嵌套回调函数的执行过程理解
- 磁盘IO的总结
- 今天更换主键时遇到的一个问题
- 求助
- 实现windows与Unix/Linux编程环境同步
- memcache 安装 注意事项
- JSon不能执行回调函数的原因
- 解决MySQL server has gone away问题的两种有效办法
- Android长度单位详解(dp、sp、px、in、pt、mm)
- iOS OpenGLES教学
- c++文件操作 demo
- jsp cookie 漫谈
- mysql中文排序
- DllMain详解
- DataScraper数据抓取快速入门