前端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

利用jQuery获取jsonp的更多相关文章

  1. label标签利用jquery获取值得方式为$("#message").html()

    label标签利用jquery获取值的方式为$("#message").text(), 赋值的方式为:$("message").html("北京欢迎你 ...

  2. Jquery学习笔记:利用jquery获取select下拉框的值

    jquery不是特别熟练,每次使用不常用的就要百度,特地记录下来. 我的下拉框是: <div class="form-group"> <select class= ...

  3. 利用jQuery获取鼠标当前的坐标

    文字来源:http://www.smalluv.com/jquery_code_106.html jQuery获取当前鼠标坐标位置: <div id="testDiv"> ...

  4. 利用jQuery获取数据,JSONP

    最近工作用到了跨域请求,所以此文就有了,概念网上都有,就不细说了,直接来了. 看了一篇文章,说的是通过扩展让ASP.NET Web API支持JSONP,jsonp网上有很多的教程,js代码部分基本和 ...

  5. 利用jquery获取html中被选中的input的值

    单个按钮 <div id="wrap"> <input type="radio" name="payMethod" val ...

  6. 利用 jquery 获取某个元素下的所有图片并改变其属性

    HTML代码 <div id="mochu"> <p>内容....<./p> <p><img src="xxxx.p ...

  7. 利用Jquery获取、设置iframe中元素

    <iframe id="iframe" src="'+url+'"></iframe>'; //iframe加载完成后 $(" ...

  8. 如何利用JQuery获取iframe内联框架对象?

    parent.$("#iframeID").get(0).contentWindow; 父.$("选择器").get(0).contentWindow; get ...

  9. 基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

    在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交,方便页面和服务器后端进行数据的交互处理.本文主要介绍利用Jquery处理数据交互的几种方式,包括 ...

随机推荐

  1. ASP.NET MVC easyUI-datagrid 的当前页合计and总合计

    一.HTML代码 <table id="dg" class="easyui-datagrid" style="width: 100%; heig ...

  2. Monkey 稳定性测试

    学习网址: https://blog.csdn.net/lucytan01/article/details/79958727 https://blog.csdn.net/hebbely/article ...

  3. Es567严格模式

    Es5 严格模式 http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html 除了正常运行模式(混杂模式),ES5添加了第二种 ...

  4. Java中的API方法总结

    API方法总结 File file = new File(path); #创建文件对象,指向一个目录 file.exists() #判断目录或者文件是否存在 File[] files = file.l ...

  5. Python自学:第四章 在for循环中执行更多操作(1)

    # -*- coding: GBK -*- magicians = ['alice', 'david', 'carolina'] for magician in magicians: print(ma ...

  6. MySQL学习 EXISTS的用法 转载

    比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID ...

  7. mysql 查询当前日期

    1.本年份 SELECT DATE_FORMAT(NOW(), '%Y'); 2.本月份(显示数字) SELECT DATE_FORMAT(NOW(), '%m'); 3.本月份(显示英文) SELE ...

  8. golang中time包一个简单的时间格式输出

    一.代码 package main import ( "fmt" "time" ) func main() { //"2006-01-02 15:04 ...

  9. H5 回到顶部按钮

    //这里我用的是svg,所以代码老长了,可以把svg部分换成自己的图片什么的$(function(){ var obj = $('<div style="width:1.3rem;po ...

  10. linxu(centos)安装nginx

    安装make: yum -y install gcc automake autoconf libtool make 安装g++: yum install gcc gcc-c++ 下面正式开始 ---- ...