关于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 ...
随机推荐
- CF294C Shaass and Lights
题目大意: 有n盏灯,(0<=n<=1000),有m盏已经点亮,每次只能点亮与已经点亮的灯相邻的灯,求总方案数,答案对1e9+7取模 第一行:两个整数n,m表示灯的总数和已点亮的灯的数目 ...
- MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)
table test Field Type Null Key Default Extra id int(11) NO PRI NULL auto_increment name char(50) NO ...
- 【float】与【position】汇总
代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- sklearn模块函数介绍
一.sklearn.metrics.accuracy_score 这个包可以帮助我们统计两个列表中相同位置元素相同的个数,比如我们预测出来的label和真实的label有多大差距,预测的准确率是多少, ...
- httpd配置文件详解及实例
httpd配置文件详解及实例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.http协议的组成 http协议是C/S架构:我们可以把浏览器(如:IE,Firefox,Safar ...
- JAVA 远程通讯机制
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB. Burlap.Hessian.SOAP.EJB和JMS等,这 ...
- IDEA中设置Tab多行显示、打开过多自动关闭的方法
IDEA中默认Tab是单行显示的,而且默认允许同时打开10个Tab,继续打开Tab会根据规则关闭之前打开的Tab.但是可以通过设置来符合自己的使用习惯. 一.打开Tab过多自动关闭 1.选择File→ ...
- Study 1 —— HTML5概述
HTML5概述HTML是一种超文本标记语言,主要用于描述超文本中内容的显示方式.标记语言经过浏览器的解释和编译,虽然它本身不能显示在浏览器中,但在浏览器中可以正确显示HTML标记的内容.HTML5是一 ...
- HDU - 5117 Fluorescent(状压dp+思维)
原题链接 题意 有N个灯和M个开关,每个开关控制着一些灯,如果按下某个开关,就会让对应的灯切换状态:问在每个开关按下与否的一共2^m情况下,每种状态下亮灯的个数的立方的和. 思路1.首先注意到N< ...
- cdqz2017-test10-柚的策略(期望DP & 组合数学)
根据期望的可加性,我们可以算出每一位客人的期望等待时间,将他们累加 即 每一位客人所有可能情况的时间之和 / n! 设S= 每一位客人所有可能情况的时间之和 如果有f(i,p)种方案使客人i是恰好第p ...