ajax 跨域访问
发布时间:2020-12-16 03:27:16 所属栏目:百科 来源:网络整理
导读:之前一直只知道有跨域这一说,但并没有在项目中实战过。就在昨日有一个小需求就需要用到跨域。因此将实战的结果记录下。 跨域原理:ajax不能请求非当前服务之外的服务。 具体步骤 1:引入jquery 2:前端请求代码 $.ajax({type:"POST",dataType:"jsonp",cache
之前一直只知道有跨域这一说,但并没有在项目中实战过。就在昨日有一个小需求就需要用到跨域。因此将实战的结果记录下。 跨域原理:ajax不能请求非当前服务之外的服务。
具体步骤
1:引入jquery
2:前端请求代码
$.ajax({ type:"POST",dataType:"jsonp",cache:false,jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 data:{"keyword":keyword,"entry":20},url:"http://21.179.197.101:84/tyjs/searchFirst2.do",success:function(resultData){ alert(resultData); } });
3:后端接收代码
@ResponseBody @RequestMapping("/searchFirst2") public void searchFirst2(String callbackparam,SearchView sv,Paging<Info> paging,HttpServletResponse resp) throws ServletException,IOException { resp.setContentType("text/plain;charset=utf-8"); String keyword = sensitiveWordUtlis.filterInfo2(sv.getKeyword()); sv.setKeyword(keyword); if (StringUtils.isNotEmpty(keyword)) { searchService.count(sv.getKeyword()); try { searchService.searchFirst(paging,sv); } catch (Exception e) { logger.error(e); } } String jsonData = JsonMyUtil.object2json(paging); jsonData = String.format("%s(%s)",callbackparam,jsonData); resp.getWriter().print(jsonData); resp.flushBuffer(); } 参考前辈的经验(里边有介绍到原理) http://www.cnblogs.com/know/archive/2011/10/09/2204005.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |