GET请求jsonp示例

来源:互联网 发布:ubuntu u盘挂载 编辑:程序博客网 时间:2024/05/16 05:06

众所周知GET请求可以用jsonp的方式解决跨域问题,下面会给出一个jsonp请求的示例。

1.后台接口

@Path("getscene")@MClientHandlerpublic ContentResult getSceneTable() {HttpServletRequest request = beat.getRequest();HttpServletResponse response = beat.getResponse();response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Allow-Credentials", "true");response.addHeader("Access-Control-Allow-Methods", "Get,Post,OPTIONS");response.addHeader("Access-Control-Request-Headers", "X-Custom-Header");List <GulRecallSceneEntity> sceneList = GulRecallService.getSceneEntity();String sceneData = CommonService.tranObjectToString(sceneList);logger.info("sceneData=" + sceneData);String jsonp = request.getParameter("callback");  //后端接口支持jsonpreturn new ContentResult(jsonp + "(" + sceneData + ")" );  //后端接口支持jsonp//return new ContentResult(sceneData);}

2. 前端axaj请求

$.ajax({type : "GET",url : "http://xxx/getscene",contentType: "application/json;charset=utf-8",dataType:"jsonp",  //请求支持jsonpdata:'',jsonp:'callback',  //请求支持jsonpsuccess : function (msg) {//TODO},error:function(){alert("错误");}});