Java 无法跨域问题(No 'Access-Control-Allow-Origin'..)

本文介绍了一款使用H5开发的本地应用在通过AJAX请求远程JAVA服务器时遇到的跨域问题,并给出了具体的解决方案,包括在JAVA服务端设置响应头的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转至:http://www.111cn.net/jsp/Java/119383.htm


http://blog.csdn.net/wo541075754/article/details/50696841

1,问题描述

使用 H5 开发了一个本地应用,通过 ajax 请求远程服务器(后台是 JAVA )上的数据时报错。

XMLHttpRequest cannot load http://26.47.129.58:8090/MCDEVICE/android/login.action?userInfor.loginCode=an&userInfor.loginPassword=an. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:8000' is therefore not allowed access.

2,原因分析

这个与安全机制有关,默认情况下是不允许跨域调用的。

3,问题解决


如果服务端是 JAVA 开发的,添加如下设置允许跨域即可。

response.setHeader("Access-Control-Allow-Origin", "*");

添加位置可以在下面三处任选一个。

(1)可以在过滤器 filter 中的 dofilter() 方法设置。
(2)可以在 servlet 的 get 或者 post 方法里面设置。
(3)可以放在访问的 jsp 页面第一行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值