博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用jQuery获取jsonp
阅读量:6938 次
发布时间:2019-06-27

本文共 2110 字,大约阅读时间需要 7 分钟。

前端js代码:

$.ajax({   url: 'http://localhost:8080/webApp/somejsonp',   dataType: "jsonp",   jsonp: "callback",   success: function (data) {       console.log(data)   }})

服务端代码:

本例采用java实现  使用的springmvc伪代码

private boolean ifJsonp(HttpServletRequest request,HttpServletResponse response,Map
map) throws Exception{ // jsonp String callback = request.getParameter("callback"); if(StringUtils.isNotBlank(callback)){ callback = callback.trim(); request.setAttribute("data", map); request.setAttribute("callback", callback); request.getRequestDispatcher("/jsonpData").forward(request, response); return true; } return false; }
@RequestMapping("/jsonpData") public @ResponseBody String genJasonData(HttpServletRequest request,HttpServletResponse response){  Object data = request.getAttribute("data");  String callback = (String) request.getAttribute("callback");  if(data==null||StringUtils.isBlank(callback)){   return "{\"result\":\"-1\",\"message\":\"未知错误\"}";  }  try {   response.setContentType("application/x-javascript;charset=UTF-8");   response.setCharacterEncoding("UTF-8");   response.getOutputStream().write((callback+"(").getBytes());   JsonGenerator generator = this.objectMapper.getJsonFactory().createJsonGenerator(response.getOutputStream(), JsonEncoding.UTF8);   this.objectMapper.writeValue(generator, data);   response.getOutputStream().write((")").getBytes());  } catch (Exception e) {   return "{\"result\":\"-1\",\"message\":\"未知错误\"}";  }  return null; }

服务端使用:

@RequestMapping(value = "/somejsonp")    public Map
findRcbChannelTabsInRecordID(HttpServletRequest request,HttpServletResponse response) throws Exception{ List list = new ArrayList(); Map
map = new HashMap
();try { list = service.queryData(map);//要查询的数据 } catch (Throwable t) { } map.put("Data", list);// jsonp if(ifJsonp(request, response, map)){ return null; } return map; }

 

来源更多请参考:

转载于:https://www.cnblogs.com/cxyj/p/3884934.html

你可能感兴趣的文章
[转载]中国648个超级亿万富豪都是谁?
查看>>
快捷键
查看>>
mac系统快捷键大全详细介绍
查看>>
shell列变行
查看>>
IOS学习笔记(七)之UISegmentedControl分段控件的基本概念和使用方法
查看>>
结构体指定初始化和位初始化
查看>>
提高性能,MySQL 读写分离环境搭建(二)
查看>>
忘记mysql密码操作
查看>>
Android 动画效果学习笔记
查看>>
Task案例1-处理多个任务
查看>>
shell(3)应用
查看>>
Vue2.0 新手入门 — 从环境搭建到发布
查看>>
赛门铁克发现新的APT组织Gallmaker,目标锁定全球政府、军事和国防机构
查看>>
Spring Cloud-honghu Cloud分布式微服务云系统--云架构代码结构构建
查看>>
linux下5秒创建rhel7虚拟机
查看>>
Xpath语法
查看>>
JAVA-给想学JAVA的小伙伴一小点点基础
查看>>
OpenResty + Lua 访问Redis
查看>>
11.2 Apache虚拟主机
查看>>
移动APP及游戏推广,有预算为什么还起不了量
查看>>