ajax跨域:JQuery + Spring MVC3.0

ajax跨域的基础知识参考:http://www.cnblogs.com/sunxucool/p/3433992.html


兼容跨域和域内访问的最简单解决方法:前端用jsonp,服务器端用 Spring MVC 3.0

前端代码:

$.ajax({
            url: "http://localhost:8080/sensing/heatmap/get/shop-1001/2014-07-28/2014-07-28",
            dataType:'jsonp',
            processData: false, 
            type:'get',
            jsonp:'jsoncallback',
            //complete :function(){$("#load").hide();},// AJAX请求完成时隐藏loading提示
            success: function(msg){// msg为返回的数据,在这里做数据绑定
            	alert(msg);
            	alert("x:"+msg.x+"   y:"+msg.y);
            	alert("value:"+msg.value);
            },
            error: function(){
            }
        });


后端代码:

@RequestMapping(value = "/get/shop-{shopId}/{startDate}/{endDate}")
	@ResponseBody
	public Object getHeatmap(@PathVariable long shopId, @PathVariable String startDate, @PathVariable String endDate, HttpServletRequest request) {
		shopId = getSessionShopId(request, shopId);
		Heatmap heatmap = new Heatmap();
		Map<String, Object> modelMap = new HashMap<String, Object>();
		modelMap.put("x",heatmap.getX());
		modelMap.put("y", heatmap.getY());
		modelMap.put("value",heatmap.getValue());
		
		String callback = request.getParameter("jsoncallback");
		if(callback!=null){//跨域访问
			JSONPObject res = new JSONPObject(callback, modelMap);
			return res;
		}else{//域内访问
			return modelMap;
		}
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值