apache ajax 跨域访问,AJAX跨域访问(从Tomcat8到Apache/Nginx)

1.在Tomcat的Root目录下放入如下的文件

apache-tomcat-8.0.12X64\webapps\ROOT

clientaccesspolicy.xml文件

crossdomain.xml

2.在项目的web.xml中加入如下的代码

apache-tomcat-8.0.12X64\webapps\test\WEB-INF

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

index.html

CorsFilter

org.apache.catalina.filters.CorsFilter

cors.allowed.origins

*

cors.allowed.methods

GET,POST,HEAD,OPTIONS,PUT

cors.allowed.headers

Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers

cors.exposed.headers

Access-Control-Allow-Origin,Access-Control-Allow-Credentials

cors.support.credentials

false

cors.preflight.maxage

10

CorsFilter

/*

3.在Apache的httpd.conf中取消LoadModule headers_module modules/mod_headers.so 前面的注释

Apache\conf

0ab71967de6a887f0d7c9545f2e03682.png

4.修改Apache的httpd.conf中配置节

Apache\conf

61f63a5a1f9c7b3fc7c495c894602c5e.png

AllowOverride None

Require all granted

Header set Access-Control-Allow-Origin *

Header set Access-Control-Allow-Headers "*"

Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"

5.修改Nginx的nginx.conf中http{}配置节

nginx-1.8.0\conf

3afb3631d05deb1dbb48fdd3a23dba13.png

add_header Access-Control-Allow-Origin *;

add_header Access-Control-Allow-Credentials true;

add_header Access-Control-Allow-Headers *;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS,DELETE,PUT;

------------------------------------------------------------------------------------------------------------------------

在tomcat工程的HTML页面中可以应用AJAX来访问Apache中的数据

//Apache

//nginx

function loadData()

{

var xhr = new XMLHttpRequest();

if ("withCredentials" in xhr){

xhr.open("get", url, true);

console.log("withCredentials");

} else if (typeof XDomainRequest != "undefined"){

xhr = new XDomainRequest();

xhr.open("get", url);

console.log("XDomainRequest");

} else {

xhr = null;

}

xhr.responseType = "arraybuffer";

xhr.onload = function() {

if (this.status == 200) {

var arrayBuffer = this.response;

//......

}

}

}

6.Spring Boot项目将以下代码加到Application.java中

private CorsConfiguration buildConfig() {

CorsConfiguration corsConfiguration = new CorsConfiguration();

corsConfiguration.addAllowedOrigin("*");

corsConfiguration.addAllowedHeader("*");

corsConfiguration.addAllowedMethod("*");

return corsConfiguration;

}

@Bean

public CorsFilter corsFilter() {

UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

source.registerCorsConfiguration("/**", buildConfig()); // 4

return new CorsFilter(source);

}

浅析JSONP-解决Ajax跨域访问问题

浅析JSONP-解决Ajax跨域访问问题 很久没有写随笔了,总是感觉没时间,其实时间就是...废话少说,前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现 ...

ajax跨域访问的解决方案

今天的工作中要访问摄像机内部的一个web站点,这就涉及到jquery的ajax跨域访问的问题.我使用的是jquery1.7的版本,下面总结如下: 问题一:一开始用IE调试,总是返回No Transpo ...

Ajax跨域访问解决办法

方法1. jsonp实现ajax跨域访问示例 jsp代码:

ajax跨域访问http服务--jsonp

在前面一篇文章里我们提到使用ajax跨域请求其他应用的http服务,使用的是后台增加注解@CrossOrigin或者增加Co ...

同源策略和Ajax跨域访问

1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略.    何谓同源:        URL由协议.域名.端口和路径组成,如果两个URL的协议 ...

随机推荐

一、CoreAnimation之图层树详解

CoreAnimation :在字面意思为“核心动画”,但是如果您认为它仅仅是一个动画框架,那可能就要错过一些经典功能了.动画,只是CoreAnimation功能的一小部分,毕竟人家的源头是一个叫做L ...

Atitit cnchar simp best list  汉字简化方案 最简化汉字256个

Atitit cnchar simp best list  汉字简化方案 最简化汉字256个 1.1. 最简化发音1 1.2. 根据笔画密度,删除了密度高的字..1 1.3. 使用同发音的英文字母等代 ...

Java 工程转 C#

一.  前言 由于要用c#写点东西,但是我不会c#啊,所以就只能先用Java写好,然后再看看 Java 和C# 的差别,再一点一点转嘛,谁知道,google一下,有软件可以直接把 Java 工程转为C ...

一些正则验证-JS

Validation = { textCount: function(field, counter, maxLimit) { var message = $(field).val(); if ($(f ...

YII2配置多语言

我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以整理如下 1. 在一个controller里面写一个调用i18n的语句, 比如actionIndex echo \Yii::t ...

Android快速开发不可或缺的11个工具类

Android快速开发不可或缺的11个工具类  :http://www.devst ore.cn/code/info/363.html

TreeSet排序

TreeSet的排序能够通过两种方法来实现: 1.通过TreeSet(Comparator super E> comparator) 构造方法指定TreeSet的比較器进行排序. 2. ...

小隐隐于野:基于TCP反射DDoS攻击分析

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...

使用Chrome 中的 ssh 插件登陆 linux 服务器

. 在chrome 商店中搜索 secure shell , 安装 Secure Shell Extension 2. 安装完成后,就可以在应用程式中找到Secure Shell App 3.点击 S ...

sencha touch list ListPaging使用详解

示例代码: Ext.define('app.view.message.List', { alternateClassName: 'messageList', extend: 'Ext.List', x ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值