前端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. 502Bad Gateway

    502 bad gateway,错误的网关的原因 连接超时,我们向服务器发送请求,由于服务器当前链接太多,导致服务器方面无法给予正常的响应,产生此报错,最好去服务器上找原因. 性能测试常见,可能是由于 ...

  2. C++——虚继承(不要使用,会导致二义性)

    如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能产生二义性 总结: 如果一个派生类从多个基类派生,而这些基类又有一个共同 的基类,则在对该基类中声明 ...

  3. react 16更新

    1.render新的返回类型 render方法支持两种新的返回类型:数组(由React元素组成)和字符串 2.错误处理 16之前,组件在运行期间如果执行出错,就会阻塞整个应用的渲染,这时候只能刷新页面 ...

  4. hdu多校第二场1011 (hdu6601) Keen On Everything But Triangle 主席树

    题意: 给定一个数列,每次询问一个区间,问这个区间中的值可组成的周长最大的三角形的周长. 题解: 定理1:给定一些值,这些值中组成边长最大的三角形的三条边的大小排名一定是连续的. 证明:假如第k大,第 ...

  5. java-day06

    面向过程 每一个具体的步骤都亲力亲为,详细处理每一个细节 面向对象 不关心具体步骤,而是找一个已经具有该功能的人来帮我做事 特点 封装性 继承性 多态性 类 是一组相关属性和行为的集合 成员变量(属性 ...

  6. 第五周课堂笔记1th

    可迭代对象   Isinstance  判断一个对象是否属于某种类型 接受两个参数 迭代器 以下数据类型都没迭代器: 把没有迭代器的类型更改为有迭代器类型 用迭代器进行取值: 判断迭代器的方法: 3. ...

  7. python常用包及功能介绍

    1.NumPy数值计算 NumPy是使用Python进行科学计算的基础包,Numpy可以提供数组支持以及相应的高效处理函数,是Python数据分析的基础,也是SciPy.Pandas等数据处理和科学计 ...

  8. CoreML 简单使用

    今天简单使用了下CoreML , 我的这个模型功能主要是 打开摄像头,然后对准物体,会自动帮我们识别摄像头中的物体,并且给我们大概的百分比值 代码如下: @IBAction func startCli ...

  9. 【学术篇】NOIP2016 D1T3 luogu1850换教室

    题目链接:点击这里献出你宝贵的时间(是用来做题不是捐赠Emmmm).. Emmmm我太弱了= = 做完这题我觉得我应该去打星际..这题怎么就有重边了呢.. 这题就是一道期望= =当时考场上好像完全不会 ...

  10. Django简介以及安装

    目录 前言 Web框架本质 服务器和应用程序 基于第三方模块实现Web框架 Python三大主流Web框架 django flask tornado Django框架介绍 安装 创建项目 创建App ...