js跨域问题的解决
2015-09-14 17:58
537 查看
js提交请求给别的应用实例或者别的服务器,由于同源策略,存在js跨域的情况,我所知道两种处理方式;
1、jquery ajax+jsonp
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.ajax({
url:"",
dataType:'jsonp',
data:'',
success:function(result) {
},
timeout:3000
});
</script>
这样便可以利用jsonp解决跨域问题;
2、在后台作http转发实现跨域问题
请求到同源工程的代理action,在该代理上做一次http转发,请求目的服务器的action,如下:
HttpClient client = new HttpClient();
PostMethod postMethod = new PostMethod("远程action地址");
RequestEntity requestEntity = new InputStreamRequestEntity(req.getInputStream(),req.getContentLength(),req.getContentType());
postMethod.setRequestEntity(requestEntity);
client.getHttpConnectionManager().getParams().setConnectionTimeout(120000);//设置超时
client.executeMethod(postMethod);//执行请求
String bodystr = postMethod.getResponseBodyAsString();//返回结果
1、jquery ajax+jsonp
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.ajax({
url:"",
dataType:'jsonp',
data:'',
success:function(result) {
},
timeout:3000
});
</script>
这样便可以利用jsonp解决跨域问题;
2、在后台作http转发实现跨域问题
请求到同源工程的代理action,在该代理上做一次http转发,请求目的服务器的action,如下:
HttpClient client = new HttpClient();
PostMethod postMethod = new PostMethod("远程action地址");
RequestEntity requestEntity = new InputStreamRequestEntity(req.getInputStream(),req.getContentLength(),req.getContentType());
postMethod.setRequestEntity(requestEntity);
client.getHttpConnectionManager().getParams().setConnectionTimeout(120000);//设置超时
client.executeMethod(postMethod);//执行请求
String bodystr = postMethod.getResponseBodyAsString();//返回结果
相关文章推荐
- <JSP>page与pageContext什么关系
- js 删除 textarea换行符
- 一般处理程序返回json
- 限制文本框输入指定字符
- MVC Action返回Json
- JS中面对对象的程序设计
- jsp 中的 param.xxx == 0 的问题
- JSONModel的使用
- 贰、js的基础(一)
- Json
- fastjson生成JSON字符串的时候出现$ref [转]
- JS设计模式之工厂模式
- js简单运动框架--1 单属性运动
- 本地缓存下的json值与a标签下的id值比较、显示与隐藏
- go restful json api
- SBJSON的使用
- JavaScript 基本语法
- 年月日时间三级联动js
- jsoncpp使用简介
- 省市县三级联动js