js跨域访问自我demo

1.webA和webB两个项目

2.配置C:\WINDOWS\system32\drivers\etc\hosts文件,不然测试不了跨域访问的效果,添加一下代码到hosts文件中

 

 

#localhost
127.0.0.1 localhost
127.0.0.1 www.xxx.com
127.0.0.1 www.yyy.com
 

 

3.配置tomcat/server.xml文件,在server.xml中的<Engine></Engine>中添加一下代码

 

<Host name="www.xxx.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
			<Context path="" docBase="webB" debug="0" reloadable="true" />
    </Host>
	 <Host name="www.yyy.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
			<Context path="" docBase="webB" debug="0" reloadable="true" />
    </Host>
 

 

 

4.编写webA和webB的测试代码

  4.1.webA中的index.jsp页面,主要是测试,就没有做多少的逻辑代码了,呵呵.

 

 

 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>webA</title>
</head>
<script type="text/javascript" src="js/jquery-1.7.min.js"></script>
<script type="text/javascript">
	$(function(){

		$("#btnC").click(function(){
			$.ajax({
					url:'http://www.yyy.com:8080/webA/index.jsp',
					type:"POST",
					data:"webBName=webB",
			    	success: function (message) {
			        alert(message);
			    }
			});

			
		});	
	});
</script>
<body>

<button id="btnC">click</button>
</body>
</html>
 

 

  4.2.webB中的index.jsp页面,

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
	System.out.println(request.getParameter("webBName"));
	response.setHeader("Access-Control-Allow-Origin","http://www.xxx.com:8080");
	response.getWriter().write("hi,good morning");
%>

5.设置服务器的response的header参数,Access-Control-Allow-Origin

//表示只允许www.xxx.com:8080下的所有文件都可以访问,8080或不要加 / 啊,不然不行的

response.setHeader("Access-Control-Allow-Origin","http://www.xxx.com:8080");

//如果要允许所有,可以这样

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

//允许多个,网上都说用,号分隔,我怎么不对啊,谁知道还请指点啊。。?


你可能感兴趣的:(demo)