`
dragonhunter
  • 浏览: 33418 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring mvc 下解决ajax跨域的问题

    博客分类:
  • ajax
阅读更多

昨天做项目遇到一个ajax跨域的问题,终于花了一个晚上调好了。

ajax跨域的客户端代码:

$.ajax({
            url:_vipLoginUrl + "/auth/checkLogin",
            dataType:'jsonp', 
            jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
            jsonpCallback:"success_jsonpCallback",//callback的function名称
            success:function(data){
                if(data.isLogin){
                   _login_callback_func.call();
                }
                else{
                    showMemberLogin();
                   
                }
            },error:function(a,b,c,d){
                alert(a+":"+b+":"+c+":"+d);
            }
        });   

 

服务器的java代码:

@RequestMapping(value = "/auth/checkLogin")
    public void authLogin(HttpServletRequest request,HttpServletResponse response){
        try{
        boolean isLogin = loginService.checkPTikets(request, response);
        Map<Object, Object> map = new HashMap<Object, Object>();
        map.put("isLogin", isLogin);
        response.setContentType("text/plain");
        String callbackFunName = request.getParameter("callbackparam");
        response.getWriter().write(callbackFunName + "("+Json.toJson(map)+")");
        }catch(Exception e){
            logger.error("authLogin error",e);
        }
    }

注意:2个项目的一级域名必须一样,并且都要用document.domain=“domain.com”来设置。

Json.toJson是封装的Jackson。

原理还没有认真分析过,客户端的 jsonp: "callbackparam",

这个参数和服务器代码中的callbackFunName 的对应关系。

还有 jsonpCallback:"success_jsonpCallback"这个回调函数可以不写,服务器执行完了,会执行ajax中的success方法的。

 

分享到:
评论

相关推荐

    Spring MVC中处理ajax请求的跨域问题与注意事项详解

    本文将深入探讨Spring MVC中处理Ajax跨域问题的方法以及需要注意的事项。 **为何出现跨域** 跨域是由浏览器的安全策略——同源策略(Same-origin policy)导致的。它限制了一个源(协议+域名+端口)的文档或脚本...

    ajax跨域post(java例子)

    Ajax跨域POST请求通过CORS机制实现,Spring框架提供了一套便捷的配置方式。在前端,我们使用jQuery或原生JavaScript发起跨域请求。理解并正确配置CORS,以及安全地使用跨域请求,是Web开发中不可或缺的知识点。

    ajax跨域jar包.zip

    【标题】:“Ajax跨域问题解决方法——CORS详解及jar包使用” 【内容】: 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的异步更新,提高用户体验。然而,由于浏览器的安全策略,...

    spring_mvc_ajax.zip_SpringMVC ajax_SpringMVC+ajax_spring ajax_sp

    本压缩包“spring_mvc_ajax.zip”包含了关于如何结合SpringMVC框架与Ajax技术来实现异步请求的示例和资源。下面将详细介绍这两个技术及其相互配合的应用。 SpringMVC是Spring框架的一部分,它是一个轻量级的模型-...

    Spring MVC 与 CORS跨域的详细介绍

    Spring MVC 与 CORS 跨域的详细介绍 本文对 Spring MVC 与 CORS 跨域的详细介绍,包括 CORS 的知识点和如何在 Spring MVC 中配置 CORS。 CORS 简介 同源策略(same origin policy)是浏览器安全的基石。在同源...

    springmvc跨域处理和过滤器方式跨域处理主要代码

    在Spring MVC中,跨域问题通常发生在Web应用中,当客户端(如JavaScript的Ajax请求)尝试从一个域名访问另一个域名的资源时。由于浏览器的安全策略,这种行为默认是被禁止的,这被称为“同源策略”。然而,在现代Web...

    ajaxupload在spring mvc4.2中实现简单文件上传

    在Spring MVC 4.2框架中实现AjaxUpload(异步文件上传)是一个常见的需求,它允许用户在不刷新整个页面的情况下进行文件上传,提供更好的用户体验。以下是对这一主题的详细阐述: 1. **AjaxUpload简介**: Ajax...

    在 Spring Web MVC 环境下使用 Dojo

    **在 Spring Web MVC 环境下使用 Dojo** Dojo 是一个强大的 JavaScript 库,提供了丰富的 UI 组件、数据管理、异步通信等功能,广泛应用于构建富客户端应用。Spring Web MVC 是 Java 开发Web应用的主流框架,以其...

    ajax跨域访问WCP搜索,返回JSON数据

    标题中的“ajax跨域访问WCP搜索,返回JSON数据”涉及到的是Web开发中关于AJAX、跨域资源共享(CORS)以及JSON数据格式的应用。在Web应用中,AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况...

    兼容IE6的spring mvc框架

    综上所述,实现一个兼容IE6的Spring MVC 3.2框架应用,需要深入理解Spring MVC的特性和机制,同时解决老旧浏览器带来的兼容性问题,以及实施有效的双语切换策略。这需要开发者具备扎实的前端和后端技术基础,以及对...

    cors-filter-1.7.jar spring解决跨域问题 java

    本篇将详细讲解如何利用Spring解决跨域问题,以及如何使用`cors-filter-1.7.jar`和`java-property-utils-1.9.1.jar`这两个库来辅助实现。 一、Spring解决跨域问题的基本原理 1. CORS定义:跨域是指浏览器遵循同源...

    避免跨域问题 ajax proxy

    Ajax Proxy是一种解决跨域问题的技术,它通过在服务端创建一个代理服务器,将客户端的Ajax请求转发到目标服务器,然后再将响应返回给客户端。这样,由于请求是服务器之间进行的,不受浏览器同源策略的限制,从而实现...

    xmlhttp跨域解决方案

    为了解决这一问题,我们可以采用多种跨域解决方案,其中一种是通过设置代理服务器。 **一、什么是同源策略** 同源策略是浏览器为了保护用户安全而实施的一种安全策略,它规定浏览器只允许加载来自相同协议、域名和...

    uploadify [解决spring MVC上传配置冲突]

    本项目着重解决如何在Spring MVC框架下配置并使用Uploadify,同时避免与Spring MVC自身的文件上传配置发生冲突。 首先,我们需要理解`Spring MVC`的文件上传机制。Spring MVC通过`MultipartResolver`接口处理多部分...

    ajax向springmvc传递json

    在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种用于创建动态网页的技术,它允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。Spring MVC 是一个基于 Spring 框架的 Model-...

    java spring mvc网站报XMLHttpRequest cannot load,只能get访问不能post访问 的解决办法.zip

    在Java Spring MVC开发的Web应用中,用户可能会遇到一个常见的问题,即XMLHttpRequest(通常由Ajax请求触发)只能执行GET请求,而无法成功发起POST请求。这个问题通常表现为浏览器的JavaScript控制台显示错误信息...

    基于Cookie的Session跨域.zip

    本项目"基于Cookie的Session跨域"则关注如何在分布式环境中解决Session的共享问题,通过Spring和Spring MVC框架来实现这一目标。 首先,我们来了解一下Cookie和Session的基本概念。Cookie是由服务器端发送到客户端...

    spring mvc hessian maven简单实例

    在"Spring MVC Hessian Maven简单实例"中,我们将探讨如何将这三个技术结合在一起,以实现一个远程服务调用的解决方案。 首先,我们需要创建一个Maven项目,配置pom.xml文件来管理Spring MVC、Hessian和其它相关...

    java中的跨域问题及其4种解决方法.docx

    在前后端分离项目中,经常会遇到跨域问题,文中通过实例代码介绍的非常详细,需要的朋友可以参考下,一起来看看吧~ 什么是跨域 当一个请求的url的协议、域名、端口任意一个与当前页面的url不同即为跨域。 比如 a页面...

    完美解决axios跨域请求出错的问题

    axios跨域请求出错的问题可以通过添加Access-Control-Allow-Origin头信息、配置Spring MVC拦截器、使用axios的withCredentials选项或使用代理服务器等方法解决。在开发中,需要根据实际情况选择合适的解决方案,以便...

Global site tag (gtag.js) - Google Analytics