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

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 页面第一行。

时间: 2024-09-25 23:35:19

JAVA号AJAX无法跨域问题(No 'Access-Control-Allow-Origin'..)的相关文章

AJAX实现跨域的三种方法(代理,JSONP,XHR2)_AJAX相关

域: 域是WIN2K网络系统的安全性边界.我们知道一个计算机网最基本的单元就是"域",这一点不是WIN2K所独有的,但活动目录可以贯穿一个或多个域.在独立的计算机上,域即指计算机本身,一个域可以分布在多个物理位置上,同时一个物理位置又可以划分不同网段为不同的域,每个域都有自己的安全策略以及它与其他域的信任关系.当多个域通过信任关系连接起来之后,活动目录可以被多个信任域域共享. 由于在工作中需要使用AJAX请求其他域名下的请求,但是会出现拒绝访问的情况,这是因为基于安全的考虑,AJAX只

浅谈JQuery+ajax+jsonp 跨域访问_jquery

Jsonp(JSON with Padding)是资料格式 json 的一种"使用模式",可以让网页从别的网域获取资料. 一. 客户端 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=&q

javascript ajax脚本跨域调用详解

今天终于有点时间研究了一下javsscript ajax 脚本跨域调用的问题,先在网上随便搜了一下找到一些解 决的办法,但是都比较复杂.由是转到jquery.chm用户手册当中找到一些代码片段关于ajax跨域调用的问题. 代码片段如下: crossDomain   mapV1.5 默认: 同域请求为false 跨域请求为true如果你想强制跨域请 求(如JSONP形式)同一域,设置crossDomain为true.这使得例如,服务器端重定向到另一个域. 这 里强调如是ajax的跨域调用,data

Ajax实现跨域访问的三种方法

本文给大家介绍了ajax实现跨域访问的3种解决方案,非常的实用,个人比较推荐第三种,小伙伴们可以着重看下.     一.什么是跨域 我们先回顾一下域名地址的组成: http:// www . google : 8080 / script/jquery.js http:// (协议号) www (子域名) google (主域名) 8080 (端口号) script/jquery.js (请求的地址) * 当协议.子域名.主域名.端口号中任意一各不相同时,都算不同的"域". * 不同的域

Ajax实现跨域访问的三种方法_AJAX相关

一.什么是跨域 我们先回顾一下域名地址的组成: http:// www . google : 8080 / script/jquery.js   http:// (协议号)                www  (子域名)              google (主域名)                8080 (端口号) script/jquery.js (请求的地址) * 当协议.子域名.主域名.端口号中任意一各不相同时,都算不同的"域". * 不同的域之间相互请求资源,就叫&

Ajax jsonp跨域请求实现方法_AJAX相关

什么是跨域? 简单的来说,出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,即"同源策略".而跨域就是通过某些手段来绕过同源策略限制,实现不同服务器之间通信的效果. 具体策略限制情况可看下表:   URL 说明 允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许

jquery中ajax处理跨域的三大方式_jquery

由于JS同源策略的影响,因此js只能访问同域名下的文档.因此要实现跨域,一般有以下几个方法: 一.处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问.但ie10以下不支持 只需要在服务端填上响应头: header("Access-Control-Allow-Origin:*"); /*星号表示所有的域都可以接受,*/ header("Access-Control-Allow-Methods:G

jquery+ajax实现跨域请求的方法

 这篇文章主要介绍了jquery+ajax实现跨域请求的方法,详细介绍了前台及后台的处理方法,是非常实用的技巧,需要的朋友可以参考下     本文实例讲述了jquery+ajax实现跨域请求的方法.分享给大家供大家参考.具体实现方法如下: 说明:这里的dataType 为 "jsonp" :type 只能为 GET 前台请求代码如下: 代码如下: $.ajax({ type: "GET", url: "http://www.xxx.com/Rest/Val

ajax跨域访问-ajax的跨域访问快递接口

问题描述 ajax的跨域访问快递接口 访问一个快递查询接口:html如下: <!DOCTYPE html><html><head><meta charset=""UTF-8""><title>Insert title here</title><script type=""text/javascript"" src=""js/jqu