ajax有跨域:不同项目名即跨域,ajax解决跨域访问的本质就是java回调js
在跨域请求的时候,如果没有解决shrio是拿不到其他系统的登录信息(可以调用对方项目的方法(ip相同项目名不同)),如果ip也不同那么方法都调用不了
1,jsonp回调
2,Java回调js(jsonp本质)
A:
回调的函数服务端也要声明
http://blog.csdn.net/yttea/article/details/51549736
http://chenshengzun.iteye.com/blog/1847629
function getSeeion(){
$.ajax({
url:"http://localhost:8081/web/siteindex.do/top",
type:"post",
dataType:"jsonp",
//cache:false,
async:true,
data:{"accountid":"21","path":"${TopPath}"},
jsonpCallback: "jsonpcallback",
success: function (response) {
alert(response);
}
});
function jsonpcallback(data){
alert(data);
}
}
B:下面这种没有跨域问题
<script src="http://localhost:8081/web/siteindex.do/top">
//返回的会放在这个里面
</script>
这种可以结合Java回调js(jsonp本质)用response.writer();把要回调的函数及其参数返回打出,即可回调,
前提是jsp已写好被回调的函数(jsonp的本质)
EsteelHome项目:
function jsonpcallback(data){
login11(data);
}
function login11(name){
isLogin=true;
document.getElementById("hyy").innerHTML=name;
document.getElementById("ydl").style.display="";
document.getElementById("wdl").style.display="none";
}
///这个要注意掉的时机,否则会引起调用过早,但是页面没有渲染出来,找不到hyy元素
<script type="text/javascript" src="http://localhost:8081/web/siteindex.do/webTop">
</script>
Esteelweb项目:
@RequestMapping(value = "/webTop")
@ResponseBody
public void webTop(Model model,HttpServletRequest request,HttpServletResponse response, HttpSession session) throws IOException {
/*CusUserBean cusUserBean = CASUtil.getCusUserBean();*/
CusFirmBean cusFirmBean= CASUtil.getCustomer();
//request.getSession().setAttribute(Constants.SESSION_FIRM, cusUserBean);
response.setCharacterEncoding("UTF-8");
if(cusFirmBean!=null){
response.getWriter().write("jsonpcallback"+ "('"+cusFirmBean.getCustomerName()+"');");//moduleId
}
else{
response.getWriter().write("jsonpcallback"+ "();");//moduleId
}
// return "frame/index.p";
}
C:用Java写一个代理
发起http请求
相关推荐
【AJAX跨域解决办法】 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下更新部分网页的技术。然而,由于浏览器的同源策略限制,AJAX请求通常只能发送到与当前页面同一源的...
本教程将详细讲解如何在Spring Boot项目中利用Redis来存储和共享Session,并解决Ajax跨域问题。 首先,我们需要理解Spring Boot中的Session管理。默认情况下,Spring Boot使用内存中的HttpSession来存储用户会话...
本示例“demo跨域ajax_DEMO_ajax跨域”着重解决C#后端与JavaScript前端之间的跨域限制。这里我们将深入探讨什么是跨域、为何会产生跨域问题以及如何通过C#和Ajax实现跨域通信。 首先,我们需要了解什么是跨域。根据...
JavaScript跨域和Ajax跨域是Web开发中常见的问题,尤其在进行前后端分离或API调用时,由于浏览器的同源策略限制,不同域名、协议或端口的资源请求会被阻止,这就是所谓的“跨域”。本文将深入探讨JavaScript和Ajax...
以下是实现AJAX跨域调用WCF服务的具体步骤和相关知识点: 1. **开启WCF服务的跨域支持**:在WCF服务的配置文件(通常是ServiceName.svc.cs或IServiceName.cs)中,需要启用跨域资源共享(CORS)。这可以通过添加`...
**Ajax跨域详解** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术允许我们实现页面的异步更新,无需刷新整个页面即可获取并展示新数据。然而,由于浏览器的安全策略,同一源策略(Same-Origin Policy)...
**Ajax跨域访问解决方案** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的异步更新,提升用户体验。然而,由于浏览器的同源策略限制,Ajax请求只能向同源(协议、域名和端口相同)...
**CORS技术详解:解决AJAX跨域问题** 在Web开发中,由于浏览器的同源策略限制,AJAX请求只能向同一源(协议+域名+端口)发送,这在跨域请求时会遇到障碍。为了解决这个问题,CORS(Cross-Origin Resource Sharing,...
本篇文章将详细讲解如何利用jQuery的jsonp方法实现Ajax跨域请求,以及如何在服务器端使用.Net的*.handler和WebService来返回JSON数据。 首先,理解JSONP的基本原理。JSONP是一种非官方的协议,通过动态创建`...
### 解决Ajax跨域问题 在现代Web开发中,跨域问题经常出现并困扰着开发者。根据提供的文件信息,本文将详细介绍如何通过JSONP等方法解决Ajax跨域问题。 #### Ajax与同源策略 首先,我们需要了解为什么会出现跨域...
本文将深入探讨如何解决Ajax跨域请求的问题。 首先,理解“同源策略”是解决问题的关键。同源策略是浏览器为了保障网络安全而设定的一种机制,它禁止了一个源的文档或脚本访问另一个源的属性,这里的“源”指的是...
### 如何实现Ajax跨域访问 在Web开发中,由于同源策略的限制,JavaScript只能对同源的页面进行操作,不能对不同源的页面进行请求。然而,在实际的应用场景中,经常会出现需要向不同域名下的服务器发起请求的情况。...
本教程将重点讲解如何在ASP.NET Web环境中处理Ajax跨域访问。 一、理解同源策略 同源策略是浏览器为了保护用户安全而实施的一项安全机制,它禁止了一个源(domain)的文档或脚本获取或操作另一个源的资源。这意味着...
标题 "IE7 Ajax跨域问题" 涉及到的是在使用Ajax技术在Internet Explorer 7(IE7)浏览器中处理跨域请求时遇到的挑战。在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器...
【Ajax跨域文件上传详解】 Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下,通过JavaScript异步地与服务器交换数据并更新部分网页内容。在现代Web开发中,Ajax广泛应用于创建动态和...
但随着互联网应用的发展,这种需求变得越来越普遍,于是诞生了"ajax跨域获取数据"的技术解决方案。这个话题涵盖了多个关键知识点,包括同源策略、CORS(跨源资源共享)以及JSONP等。 1. 同源策略:同源策略是浏览器...
### Ajax跨域问题及其解决方案 #### 一、Ajax跨域问题概述 在现代Web开发中,前后端分离架构越来越流行。这种模式下,前端页面与后端服务通常部署在不同的服务器上,甚至可能位于不同的域名下。当浏览器发起对不同...
可以将book.aa.com用iframe添加到 www.aa.com的某个页面下,在www.aa.com和iframe里面都加上document.domain = "aa.com",这样就可以统一域了,可以实现跨域访问。就和平时同一个域中镶嵌iframe一样,直接调用里面的...