jsonp

记录下Ajax跨域,工作中并没有用到,因为前端再处理这个,据说是框架已经解决。自己私下遇到这个问题,特来记录一下。


前端代码如下:

$("#searchBut").click(function() {
		
		var url = "http://localhost:8085/search?keyword=" + $("#searchInput").val();
		
		$.ajax({  
             type: "get",  
             async: false,  
             url: url,  
             dataType: "jsonp",  
             jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)  
             jsonpCallback:"callback",//手动指定回调函数名,服务端也是callback;我也不太理解  
             success: function(json){  
                 console.log(json);
             },  
             error: function(){  
                 alert('fail');  
             }
         });  
	});

后端代码如下:

        @RequestMapping(value = "/search")
	@ResponseBody
	public String search(String keyword,Model model,@RequestParam(defaultValue="1")int page){
		SearchResult result = new SearchResult();
		try {
 			keyword =new String(keyword.getBytes("ISO-8859-1"),"UTF-8");
			result = searchService.selectIndexByKeyWord(keyword,page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		//此处需要注意
		return "callback("+new Gson().toJson(result)+")";
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值