java ajax 跨域_Javaweb使用cors完成跨域ajax数据交互

本文详细介绍了如何在JavaWeb中利用CORS(跨域资源共享)解决跨域问题,包括在pom.xml中添加依赖,web.xml中配置过滤器,以及jQuery的跨域调用示例代码。通过这些步骤,可以实现不同域之间的数据交互,确保安全性的同时增强灵活性。
摘要由CSDN通过智能技术生成

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。

ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。

cors

全称:Cross-Origin Resource Sharing

中文意思:跨域资源共享

它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全。

1、通过Maven引用

cors-filter、java-property-utils二个jar包,修改pom.xml文件,加入下面内容

com.thetransactioncompany

cors-filter

2.5

com.thetransactioncompany

java-property-utils

1.10

2、在web.xml里面配置过滤器,使用引入的jar中定义好的过滤器。注意修改cors.allowOrigin节点,如果允许所有站点跨域访问,可以修改为[*],如果是多个站点,可以用[,]分隔配置。

跨域过滤器

CORS

com.thetransactioncompany.cors.CORSFilter

cors.allowOrigin

https://127.0.0.1:8380

cors.supportedMethods

GET, POST, HEAD, PUT, DELETE

cors.supportedHeaders

Accept, Origin, X-Requested-With, Content-Type, Last-Modified

cors.exposedHeaders

Set-Cookie

cors.supportsCredentials

true

CORS

/*

3、通过jQuery跨域调用数据,实例代码如下:

跨域测试

body{

margin:0px auto 0px auto;

}

.p_container {

margin: 0px auto 0px auto;

width: 100%;

height: 200px;

}

.p_container > iframe {

width: 100%;

height: 100%;

}

跨域调用

$(function () {

$('#btn_test').click(function () {

//alert('dddd');

//var iframe_main = $("#iframe_main").contents();

//iframe_main.find("#account").val('test');

$.ajax({

url: "https://10.18.25.119:8480/jxfp/index.jsp",

type: "GET",

dataType: "text",

timeout: 10000,

xhr: function () { //这是关键 获取原生的xhr对象 做以前做的所有事情

var xhr = jQuery.ajaxSettings.xhr();

xhr.withCredentials = true;

return xhr;

},

success: function (data) {

$("#p_show").html(data);

//Console.log(data);

},

error: function (e) {

$("#p_show").html(e.statusText);

}

});

});

});

以上就是是小编分享给大家的Javaweb使用cors完成跨域ajax数据交互的全部内容,希望对大家有所帮助。如果在阅读过程中有什么问题,可以给小编留言,我会及时回复大家的。也希望大家多多支持脚本之家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值