smarty模板要处理成ajax,所以须要又一次拼接一个html来追加节点。

原先smarty的数组如今须要处理成json数据返回了,服务器端的修改比較小:

header("Content-type : application/json")
echo json_encode($arr);

前台的处理也非常easy

$.ajax({
url : "http://example.com",
type : "GET",
dataType : json,
data : {
//some data
},
success : function(data){
//blog theme
}
});

上面都是废话。说了那么多,可是不保证正确,手头没有文档。所以瞎写了个样子。

以下是主题:

错误1:

有时候json返回的格式是这种

{
"210" : {a,b,c},
"220" : {"a" : 110 , "b" : "lolo"}
}

那假设我使用

for(var i = 0; i < data.length; i++ )

这种方式是会报错的,由于data没有length属性。怎样遍历了,应该使用:

for(var obj in data)

:印象里这是用来遍历对象的属性是否存在的。

须要明白提出的是obj代表的是key,所以你訪问的时候事实上是须要:

data[obj]

但这又明显是数组的訪问方式。

错误2:

var img = data.img;
var imgLen = data.img.length;

假设img属性不存,返回undefined对象。

这里undefined对象并没有length属性。我屏蔽的时候使用

if(!data.img.length)

这样事实上是不能够的,由于他本身就是一个错误。

推荐json的一个插件json-handle

JS-json-1的更多相关文章

  1. js json简介(json的本质也是字符串)(用于服务器和客户端通信)

    js json简介(json的本质也是字符串)(用于服务器和客户端通信) 一.总结 1.json的语法和js的语法非常像,只是json的键和值都是双引号,因为json的本质也是字符串 2.json是一 ...

  2. JS json对象(Object)和字符串(String)互转方法

    [JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 ...

  3. js : json和 cookie 的简单操作

    使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> < ...

  4. js json 对象相互转换

    字符串转对象(strJSON代表json字符串)   var obj = eval(strJSON);   var obj = strJSON.parseJSON();   var obj = JSO ...

  5. js json 与字符串 转换过程由于书写不统一规范引发的一个问题

    对于两个字符串: 字符串1:{title:{},tooltip:{trigger:"axis"},legend:{data:["新关注人数"]},calcula ...

  6. JS~json日期格式化

    起因 对于从C#返回的日期字段,当进行JSON序列化后,在前台JS里显示的并不是真正的日期,这让我们感觉很不爽,我们不可能为了这东西,把所有日期字段都变成string吧,所以,找了一个JS的扩展方法, ...

  7. js json和对象互相转换

    http://www.jb51.net/article/44562.htm obj = JSON.parse(string) | obj = jQuery.parseJSON(str) 将JSON字符 ...

  8. Js Json 互转

    推荐: //js对象转换为 JSON 文本 var text = '[{"id":1,"name":"C","size" ...

  9. js json string 互转

    字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.pars ...

  10. json2.js JSON解析程序

    源码: /* http://www.JSON.org/json2.js 2010-03-20 Public Domain. NO WARRANTY EXPRESSED OR IMPLIED. USE ...

随机推荐

  1. tomcat server.xml maxPostSize=0 导致 果post表单收不到参数解决方案

  2. SharePoint Online 切换经典视图

    SharePoint online 默认是现代视图,我们可以通过Powershell命令切换默认视图. 以下,是完成的Powershell命令: # This file uses CSOM. Repl ...

  3. Ubuntu 虚拟机安装几点细节整理

    虚拟机或者Wubi安装其实都挺简单的,这里还是再次总结下,给遇到麻烦的同学一点参考. 虚拟机安装 虚拟机直接通过新建-标准-选择镜像,Vmware能够自动识别镜像并进行Easy Install安装,E ...

  4. 有序数组每个数平方后,不同数字的个数?O(n)

    此乃一道笔试题,当时的确也做出来啦.(但是在细节上还是出错啦,对多次重复出现的数字可能会重复计数,没有记录上次删除的元素) 如题,有序数组,可以知道平方之后在两边的数据较大,中间的数据较小. 因此可以 ...

  5. 构建-4 dependencies 依赖管理

    官方文档 Add build dependencies The Gradle build system in Android Studio makes it easy to include exter ...

  6. Js计算指定日期加上多少天,加多少月,加多少年的日期

    function DateAdd(interval,number,date) { /* * 功能:实现VBScript的DateAdd功能. * 参数:interval,字符串表达式,表示要添加的时间 ...

  7. Java7,AutoClosable

    Java 7的try-with-resource语法的目的是提高Java开发人员的效率,使得他们不需要在编写代码时考虑资源释放问题,大多数的这类"清理"问题是由于异常发生时清理方法 ...

  8. Tensorflow中张量数据类型的转换

    https://blog.csdn.net/Tramac/article/details/74942587 字符串转为数字: tf.string_to_number (string_tensor, o ...

  9. HTTP认证与https简介

    HTTP请求报头: Authorization HTTP响应报头: WWW-Authenticate  HTTP认证是基于质询/回应(challenge/response)的认证模式. HTTP认证 ...

  10. ASP入门(二)-创建Access数据库

    通常来说,ASP程序是搭配Access数据库来使用的,因此在安装完ASP环境后,为了方便建立和管理数据库,我们还需要安装Access数据库. Access是Microsoft Office家族中的一员 ...