关于ajax请求,返回json数据格式
使用servlet测试
后台数据为:返回类型没有设置(方式一)
String str = "["+
"{ id:1, pId:0, name:\"可折腾的父节点 1\", t:\"我很普通,随便 展开/折叠 我吧\", open:false},"+
"{ id:11, pId:1, name:\"叶子节点 - 1\", t:\"我老爸很普通,随便折腾他吧\"},"+
"{ id:12, pId:1, name:\"可折腾的父节点 2\", t:\"我和我老爸都很普通,随便折腾我和他吧\", open: false},"+
"{ id:121, pId:12, name:\"父节点 - 121\", t:\"我老爸很普通,随便折腾他吧\", open:true},"+
"{ id:1211, pId:121, name:\"父节点 - 1211\", t:\"我老爸很普通,随便折腾他吧\", open:false},"+
"{ id:1212, pId:1211, name:\"叶子节点 - 1212\", t:\"我老爸很普通,随便折腾他吧\"},"+
"{ id:1213, pId:121, name:\"父节点 - 1213\", t:\"我老爸很普通,随便折腾他吧\", open:false},"+
"{ id:1214, pId:1213, name:\"叶子节点 - 1214\", t:\"我老爸很普通,随便折腾他吧\"},"+
"{ id:123, pId:12, name:\"叶子节点 - 23\", t:\"我老爸很普通,随便折腾他吧\"},"+
"{ id:13, pId:1, name:\"叶子节点 - 3\", t:\"我老爸很普通,随便折腾他吧\"},"+
"{ id:2, pId:1, name:\"无法折叠的父节点\", t:\"休想让我折叠起来...除非你用 expandAll 方法\", open:false, collapse:false},"+
"{ id:21, pId:2, name:\"叶子节点2 - 1\", t:\"哈哈哈,我老爸NB吧,不能折叠吧?\"},"+
"{ id:22, pId:21, name:\"叶子节点2 - 2\", t:\"哈哈哈,我老爸NB吧,不能折叠吧?\"},"+
"{ id:23, pId:21, name:\"叶子节点2 - 3\", t:\"哈哈哈,我老爸NB吧,不能折叠吧?\"},"+
"{ id:3, pId:2, name:\"无法展开的父节点\", t:\"就凭你也想展开我?难呀...嘿嘿, 除非你用 expandAll 方法\", open:false, expand:true},"+
"{ id:31, pId:3, name:\"叶子节点3 - 1\", t:\"居然让你看到了...莫非你用了全部节点展开?\"},"+
"{ id:32, pId:31, name:\"叶子节点3 - 2\", t:\"居然让你看到了...莫非你用了全部节点展开?\"},"+
"{ id:33, pId:31, name:\"叶子节点3 - 3\", t:\"居然让你看到了...莫非你用了全部节点展开?\"},"+
"{ id:4, pId:3, name:\"空空的父节点 1\", t:\"一无所有...除了我自己\", isParent:true, open:false}"+
"]";
前端使用$.post接收,没有问题,能够加载出树结构
$.POST('/TestServlet',{},function(data){
var nodes = eval("("+data+")");
$.fn.zTree.init($("#tree"), setting, nodes);
});
使用ajax接收,配置呢type为json,会提示加载失败
$.ajax({
type: "POST",
url: '/TestServlet',
timeout: 1000,
data: {
key1: "value1",
key2: "value2"
},
async: true,
dataType: "json",
error: function(){
alert("请求失败!");
},
success: function(data){
treeObj = $.fn.zTree.init($("#tree"), setting, data);
}
});
见后端的字符串修改:键上加了引号(方式二)
String str = "["+
"{ \"id\":1, \"pId\":0, \"name\":\"可折腾的父节点 1\", \"t\":\"我很普通,随便 展开/折叠 我吧\", \"open\":true},"+
"{ \"id\":11, \"pId\":1, \"name\":\"叶子节点 - 1\", \"t\":\"我老爸很普通,随便折腾他吧\"},"+
"{ \"id\":12, \"pId\":1, \"name\":\"可折腾的父节点 2\", \"t\":\"我和我老爸都很普通,随便折腾我和他吧\", \"open\": false},"+
"{ \"id\":121, \"pId\":12, \"name\":\"父节点 - 121\", \"t\":\"我老爸很普通,随便折腾他吧\", \"open\":true},"+
"{ \"id\":1211, \"pId\":121, \"name\":\"父节点 - 1211\", \"t\":\"我老爸很普通,随便折腾他吧\", \"open\":false},"+
"{ \"id\":1212, \"pId\":1211, \"name\":\"叶子节点 - 1212\", \"t\":\"我老爸很普通,随便折腾他吧\"},"+
"{ \"id\":1213, \"pId\":121, \"name\":\"父节点 - 1213\", \"t\":\"我老爸很普通,随便折腾他吧\", \"open\":false},"+
"{ \"id\":1214, \"pId\":1213, \"name\":\"叶子节点 - 1214\", \"t\":\"我老爸很普通,随便折腾他吧\"},"+
"{ \"id\":123, \"pId\":12, \"name\":\"叶子节点 - 23\", \"t\":\"我老爸很普通,随便折腾他吧\"},"+
"{ \"id\":13, \"pId\":1, \"name\":\"叶子节点 - 3\", \"t\":\"我老爸很普通,随便折腾他吧\"},"+
"{ \"id\":2, \"pId\":1, \"name\":\"无法折叠的父节点\", \"t\":\"休想让我折叠起来...除非你用 openAll 方法\", \"open\":false, \"collapse\":false},"+
"{ \"id\":21, \"pId\":2, \"name\":\"叶子节点2 - 1\", \"t\":\"哈哈哈,我老爸NB吧,不能折叠吧?\"},"+
"{ \"id\":22, \"pId\":21, \"name\":\"叶子节点2 - 2\", \"t\":\"哈哈哈,我老爸NB吧,不能折叠吧?\"},"+
"{ \"id\":23, \"pId\":21, \"name\":\"叶子节点2 - 3\", \"t\":\"哈哈哈,我老爸NB吧,不能折叠吧?\"},"+
"{ \"id\":3, \"pId\":2, \"name\":\"无法展开的父节点\", \"t\":\"就凭你也想展开我?难呀...嘿嘿, 除非你用 openAll 方法\", \"open\":false, \"expand\":true},"+
"{ \"id\":31, \"pId\":3, \"name\":\"叶子节点3 - 1\", \"t\":\"居然让你看到了...莫非你用了全部节点展开?\"},"+
"{ \"id\":32, \"pId\":31, \"name\":\"叶子节点3 - 2\", \"t\":\"居然让你看到了...莫非你用了全部节点展开?\"},"+
"{ \"id\":33, \"pId\":31, \"name\":\"叶子节点3 - 3\", \"t\":\"居然让你看到了...莫非你用了全部节点展开?\"},"+
"{ \"id\":4, \"pId\":3, \"name\":\"空空的父节点 1\", \"t\":\"一无所有...除了我自己\", \"isParent\":true, \"open\":false}"+
"]";
且设置返回值类型:
response.setContentType("application/json; charset=utf-8");
就可以使用ajax设置type为json接收数据。
注意:后台设置json格式返回时,键上要加引号。如果键上没加引号,但是又设置呢返回值为json,通过浏览器,可以正常加载出数据,但是在使用ajax请求时,会失败。
关于ajax请求,返回json数据格式的更多相关文章
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- AJAX请求,返回json进行页面绑值
AJAX请求,返回json进行页面绑值 后台 controller @RequestMapping(value = "backjson.do",method=RequestMeth ...
- ajax请求返回json字符串/json对象 处理
1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: Prin ...
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...
- AJAX请求返回JSON数据动态生成html
1:DeliveryPersonVO对象 package com.funcanteen.business.entity.delivery.vo; import java.util.List; impo ...
- jsp Ajax请求(返回json数据类型)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- ajax请求返回Json字符串运用highcharts数据图表展现数据
[1].[图片] Json字符串和highcharts数据图表展现.jpg 跳至 [1] code=26754#44745" rel="nofollow"> [2] ...
- 解决ajax请求返回Json无法解析"\"字符的问题
原因:获取身份证信息,涉及图片路径,存在“\”字符,导致Json解析错误 解决思路:将返回类型从"json"改成"text",此时返回的数据类型变成字符串,将字 ...
- ajax请求返回json数据弹出下载框的解决方法
将返回的Content-Type由application/json改为text/html. 在struts2下: <action name="XXXAjax" class=& ...
- spring mvc 避免IE执行AJAX时,返回JSON出现下载文件
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" c ...
随机推荐
- 在Linux上安装Elasticsearch Kibaba.md
在Linux上安装Elasticsearch Kibaba Kibana是一个开源为elasticsearch 引擎提供数据和数据分析 1.下载安装 切换到root账户,按顺序依次执行以下命令 rpm ...
- JAVA BufferedReader 类从标准输入读取数据
1,从标准输入上建立输入流: BufferedReader localReader = new BufferedReader( new InputStreamReader(System.in)); S ...
- ubuntu新建组合用户命令不管用
当我们新建了组和用户的时候发现一些命令不管用了,这是什么问题呢. 一.解决方案. 通过以下命令添加组和用户,切换到新用户,发现命令不管用,只有一个$符号. groupadd 新组名 ----添加组 u ...
- 五、u-boot 启动流程---u-boot.lds
5.1 u-boot.lds 链接脚本分析 uboot 编译出来的第一个链接脚本就是执行 u-boot.lds 链接脚本,去掉里面无用的和没有定义的,进行分析. /* 配置头文件,自动生成的,包含芯 ...
- C# this调用构造函数及析构函数
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace trai ...
- Nginx URL匹配
Nginx 下 location模块 可以实现对网页URL进行分析处理 location ~ .*\.(gif|jpg|jpeg|png|bmg|swf)$ { // 扩展名为gif|jpg|j ...
- Linux 设置最大链接
最大连接数 ulimit -SHn # 最大文件句柄数,最大打开文件数(等同最大连接数) ulimit -a # 查看 /etc/security/limits.conf # 进程最大打开文件数 # ...
- “微信小程序商城构建全栈应用”开发小记
注意事项: 1.application\api\extra下的wx.php记得填写小程序的app_id.app_secret: 2.API测试小工具需要APPID:
- kan
http://blog.csdn.net/yahohi/article/details/7427724 http://duanhengbin.iteye.com/blog/1706635 http:/ ...
- MGR架构~MGR+proxysql(1)
一 简介:今天咱们来探讨下方案2的实现方式,同时也推荐方案2 二 环境部署 1 proxysql 环境 2 mgr 环境 三 进行配置 1 创建用户 1 添加监控用户并授权 ...