java json-lib & jQuery & jsonp
来源:互联网 发布:深圳龙岗ug编程培训 编辑:程序博客网 时间:2024/05/18 01:31
参考链接:
1、http://hanqunfeng.iteye.com/blog/1866712
2、http://blog.csdn.net/z69183787/article/details/15808921
3、http://www.cnblogs.com/JerryTian/p/4194900.html
4、http://feitianbenyue.iteye.com/blog/2046877
一 程序所需jar文件及POM
二 后台代码编写
三 JS代码编写
四 相关错误
解决如下:
五 相关说明
jsonp
类型:String
在一个 jsonp 请求中重写回调函数的名字。这个值用来替代在 "callback=?" 这种 GET 或 POST 请求中 URL 参数里的 "callback" 部分,比如 {jsonp:'onJsonPLoad'} 会导致将 "onJsonPLoad=?" 传给服务器。
jsonpCallback
类型:String
为 jsonp 请求指定一个回调函数名。这个值将用来取代 jQuery 自动生成的随机函数名。这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。
1、http://hanqunfeng.iteye.com/blog/1866712
2、http://blog.csdn.net/z69183787/article/details/15808921
3、http://www.cnblogs.com/JerryTian/p/4194900.html
4、http://feitianbenyue.iteye.com/blog/2046877
一 程序所需jar文件及POM
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>net.sf.ezmorph</groupId>
- <artifactId>ezmorph</artifactId>
- <version>1.0.6</version>
- </dependency>
二 后台代码编写
- try {
- response.setContentType("text/plain");
- response.setHeader("Pragma", "No-cache");
- response.setHeader("Cache-Control", "no-cache");
- response.setDateHeader("Expires", 0);
- Map<String,String> map = new HashMap<String,String>();
- map.put("result", "content");
- PrintWriter out = response.getWriter();
- JSONObject resultJSON = JSONObject.fromObject(map); //根据需要拼装json
- String jsonpCallback = request.getParameter("jsonpCallback");//客户端请求参数
- out.println(jsonpCallback+"("+resultJSON.toString(1,1)+")");//返回jsonp格式数据
- out.flush();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
三 JS代码编写
- $.ajax({
- type : "get",
- async:false,
- url : "http://app.example.com/base/json.do?sid=1494&busiId=101",
- dataType : "jsonp",//数据类型为jsonp
- jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数
- success : function(data){
- $("#showcontent").text("Result:"+data.result)
- },
- error:function(){
- alert('fail');
- }
- });
四 相关错误
- java.lang.ClassCastException: JSON keys must be strings
解决如下:
- JsonConfig jsonConfig = new JsonConfig();
- // 排除,避免循环引用 There is a cycle in the hierarchy!
- jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
- jsonConfig.setIgnoreDefaultExcludes(true);
- jsonConfig.setAllowNonStringKeys(true);
- if (Validator.isNotNullOrEmpty(excludes)){
- jsonConfig.setExcludes(excludes);
- }
- String string = JsonUtil.toJSON(obj, jsonConfig).toString(4, 4);
五 相关说明
jsonp
类型:String
在一个 jsonp 请求中重写回调函数的名字。这个值用来替代在 "callback=?" 这种 GET 或 POST 请求中 URL 参数里的 "callback" 部分,比如 {jsonp:'onJsonPLoad'} 会导致将 "onJsonPLoad=?" 传给服务器。
jsonpCallback
类型:String
为 jsonp 请求指定一个回调函数名。这个值将用来取代 jQuery 自动生成的随机函数名。这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。
0 0
- java json-lib & jQuery & jsonp
- 十四、JSON、JSONP、jQuery等
- jQuery---关于JSON和JSONP
- jquery 跨域 JSON和JSONP
- jquery 跨域 JSON和JSONP
- java return jsonp 及 json
- Java json lib
- java json lib 日期
- Java JSON(json-lib)
- 说说JSON和JSONP,含jQuery用例
- JSON和JSONP (含jQuery实例)
- Jquery datatable jsonp 显示后台json数据
- 说说JSON和JSONP,含jQuery用例
- JSON和JSONP(含jQuery用例)
- 说说JSON和JSONP,含jQuery用例
- java 跨越访问 (jquery,jsonp)
- Java解析Json(org.json,json-lib)
- json、jsonp、jsonp跨域
- c学习笔记(一)
- 转载:获取各种时间的总结
- Git的最基本使用
- Linux添加系统调用
- 多线程学习总结(十)——线程安全之线程间的通信深入
- java json-lib & jQuery & jsonp
- 除法和算术右移之间的巧妙取代
- 基于字符串的Hash表效率实验分析
- JavaScript异步编程学习
- Mac apache和php
- 【Codeforces Round #200 (Div. 1)】Codeforces 343D Water Tree
- NOIP2015 day1[tarjan][搜索][模拟][贪心]
- jQuery图表(jqPlot,Highcharts)
- cmake 手册详解