最近上头让我用JSON把两个项目连起来,其中涉及到的问题是两个项目不在一个机器上,就是出现跨域传输数据的问题。AJAX的安全机制所以不能跨域传输数据,BAIDU 了一下说也可以但是我没看懂,哪位大哥了解。给我发个demo小弟感激不尽!~
解决方案 »
- 用SSH做修改操作时报出No value for key 错误
- 在Hibernate中怎么存放Wordcl格式的文件
- 关于servlet注册时的开发流程
- JSp报错 org.apache.jasper.JasperException: An exception occurred processing
- 问个关于log4j的问题
- jsp中用表达式语言如何判断密码框中输入的密码长度小于某个数值?
- JSP的虚拟目录
- (高分求助)日志文件的制作过程
- 为什么?
- request.setCharacterEncoding("gb2312");有的Tomcat不支持吗?
- 请大家帮帮忙如何在myeclipse中配置gxt-2.1.1(急)
- 关于如何将我现在写的这个代码改成两个表也可用?两个表有关联的
在默认情况下,IE是禁止你在访问A机器的页面时,通过AJAX(即new ActiveXObject("Microsoft.XMLHTTP"))方法向B机器提交数据的如果你希望使用上述的功能,只需要将A、B机器都添加到安全站点就可以了。
如果无法要求客户这样做,可以考虑在A机器上面部署一个简单的HTTP转发用的war,只负责将请求转发到B机器上,这样对客户来说,访问的还只是A机器,就没有安全问题了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Test Jsonp</title>
<script type="text/javascript">
function jsonpCallback(result)
{
alert(result.msg);
}
</script>
<script type="text/javascript" src="http://crossdomain.com/jsonServerResponse?jsonp=jsonpCallback"></script>
</head>
<body>
</body>
</html>
那服务端应该是怎么个意思啊应该怎么写呢,我是一个贼新的新手所以比较蒙,请大家帮忙多指点呀
服务器端类似于这样:String callback = request.getParameter("jsonp"); //得到要回调的函数。
String data = "[1,2,3,4,5,6]"; //假设这个data就是要获取的数据。
out.println(callback+"("+data+")"); //对客户端函数进行回调,并将服务器端的数据当做参数传给客户端的函数。
你把那个字符串也当做参数会上去啊。比如名字叫json吧。
就用request.getParameter("json")就可以拿到了。