利用jQuery获取jsonp

王朝学院·作者佚名  2016-05-23
窄屏简体版  字體: 小  |  中  |  大  |  超大  

利用jQuery获取jsonp前端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<String, Object> 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<String, Object> findRcbChannelTabsInRecordID(HttpServletRequest request,HttpServletResponse response) throws Exception{ List list = new ArrayList(); Map<String, Object> map = new HashMap<String, Object>();try { list = service.queryData(map);//要查询的数据 } catch (Throwable t) { } map.put("Data", list);// jsonp if(ifJsonp(request, response, map)){ return null; } return map; }

来源更多请参考:http://www.cnblogs.com/lemontea/archive/2012/12/11/2812268.html

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航