java+jQueryd的ajax跨域方法
1、在服务端设置请求头信息
前台JS代码: $("#but4").click(function(){ var vesion=parseInt($.browser.version); if($.browser.msie && vesion>=8 && vesion<11){//判断浏览器版本是否为IE xdr = new XDomainRequest(); xdr.open("POST", "http://shop.weibaobei.com/test1/test1!getAjaxData.action?type=IE"); xdr.send(); xdr.onload=function(){ alert("返回结果:"+xdr.responseText); } }else{ $.ajax({ url:’http://shop.weibaobei.com/test1/test1!getAjaxData.action’, type:’post’, data:{random:Math.random()}, success:function(data){ alert(data); } }); } }); 后台java代码: public void getAjaxData() throws IOException{ PrintWriter out = this.getResponse().getWriter(); this.getResponse().setContentType("text/html;charset=UTF-8"); this.getResponse().addHeader("Access-Control-Allow-Origin","*");//’*’表示允许所有域名访问,可以设置为指定域名访问,多个域名中间用’,’隔开 //如果IE浏览器则设置头信息如下 if("IE".equals(this.getRequest().getParameter("type"))){ this.getResponse().addHeader("XDomainRequestAllowed","1"); } out.print("success"); out.close(); } |
a、在使用此方法时在后端为了安全起见最好设置允许那些域进行跨域访问,如“shop.weibaobei.com",多个域名直接用“,”分开;
前台JS代码: $("#but6").click(function(){ $.getScript(’http://shop.weibaobei.com/test1/test1!getJavaScriptData.action’,function(){ //前台获取后台返回数据 alert(a); alert(remote.test); }); }); 后台java代码: public void getJavaScriptData() throws IOException{ PrintWriter out = this.getResponse().getWriter(); this.getResponse().setContentType("text/html;charset=UTF-8"); out.print("var s=32423; var a=’45643543’; var f=[4,1];var remote={test:’hello!’};");//给前台返回js代码 out.close(); } |
相关文章
- 新建的springboot项目接口返回乱码的解决方法
- 配置@ConfigurationProperties后读取yml文件的参数...
- Caused by: java.lang.NoClassDefFoundError: Coul...
- springboot加入SSL证书设置https访问
- Springboot用pagehelper分页插件查询Oracle的速度...
- shiro的登录账号密码校验过程,SimpleAuthenticati...
- Shiro控制没有登录时,返回指定JSON格式数据
- SpringBoot中mybatis返回的Date时间格式化
- ClassNotFoundException: org.aspectj.lang.annota...
栏目列表
推荐阅读
- java的StringEscapeUtils转义与反转义
- Mybatis的foreach事列,如何获取foreach的index值
- Java Ehcache缓存的timeToIdleSeconds和timeToLiveSeconds区别
- errcode: 40001, errmsg: invalid credential, access_token is invalid or not latest rid: 5f6981c2-6cc9cb20-6833977a
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- 服务器侦听端口 netstat -na 命令详解
- tomcat启动maven工程报错-Updating status for Tomcat v7.0 Server at localhost...
- Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'
- Java后台获取当前访问客户端的真实IP地址(外网或内网地址)
- com.googlecode.aviator.AviatorEvaluator规则引擎用法
- java发送http的get、post请求
- StringSubstitutor替换占位符,处理SQL参数
- java拦截器HandlerInterceptor的preHandle、postHandle与afterCompletion三个方法
- java中Session缓存和Cache缓存的区别
- Java8对象集合转List<Integer>id集合,转List<String>name集合,List<Class>对象集合
- Java导出excel利用jxls合并单元格jx:mergeCells实现表格嵌套技术
- java图片文件base64流之间的互转帮助类源码下载
- 利用ObjectMapper,将json数组转List<Map<String,Object>>
- java的DES加密解密辅助类
- Java Ecache缓存工具类源码下载