java 后台Jsonp处理方法

83 篇文章 3 订阅
13 篇文章 0 订阅
1.JSONP  
是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。JSON系统开发方法是一种典型的面向数据结构的分析和设计方法,以活动为中心,一连串的活动的顺序组合成一个完整的工作进程。 

2.看下客户端  

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
        $.ajax({ 
             url:'http://localhost/jsonp_test1.json', 
             dataType:"jsonp", 
             jsonp:"jsonpcallback", 
             success:function(data){ 
                 var $ul = $("<ul></ul>"); 
                 $.each(data,function(i,v){ 
                     $("<li/>").text(v["id"] + " " + v["name"]).appendTo($ul) 
                 }); 
                 $("#res").append($ul); 
             } 
        }); 
    }); 
</script> 
</head> 
<body> 
    </body> 
</html> 

<ul></ul> 
<div id="res"></div> 

3.服务端

 第一种: 普通servlet 

String jsonp = request.getParameter("jsonpcallback") 
  String str = "[{""id"":""1"",""name"":""测试1""},{""id"":""2"",""name"":""测试2""}]" 
  str = jsonp + "(" +str+");" 
  response.Write(str) 

第二种 : 再看spring mvc服务端写法 

@RequestMapping(value="/jsonp_test1.json", method=RequestMethod.GET) 
@ResponseBody 
public JSONPObject login(HttpServletRequest request,HttpServletResponse response,@RequestParam String callback) throws Exception { 
ModelAndView model = new ModelAndView(); 
                  List l=new ArrayList(); 
for(int i=0;i<2;i++){ 
Otc otc = new Otc(); 
otc.setName("测试1"); 
otc.setId(i+1); 
l.add(otc); 



                   model.addObject("data", l); 

        return new JSONPObject(callback, model); 


通过JSONPObject实现了简单的jsonp的封装,JSONPObject是jackson包中的类


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值