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

jquery ajax跨域访问

 
阅读更多

基于Jquery的Ajax跨域访问

单点登录服务器(sso服务器)

令牌认证服务器(令牌服务器)

 

登录网页项目的时候,由于使用了单点登录,所以页面会跳转到sso服务器,进行统一登录,

现在需要在该界面增加令牌的认证,但是SSO服务器和令牌服务器部署在不同的服务器,且暂时没有要合并的可能,所以在SSO登录的时候必须要对令牌进行验证,就必须涉及到了跨域访问的问题。

最开始不了解跨域的概念,以为在局域网中就没有跨域,毕竟对外的域名都是统一的,所以直接使用

js代码 at  SSO服务器

$.ajax({
  url :http://192.168.123.10:8080/authority/identyfying.htm,
  type :"POST",
  data : {"name":name,"code":code},
  success :function(data){
    alert(data);
}
});
action代码 at 令牌服务器端

<%
Stringresult=request.getAttribute("result")==null?“”:request.getAttribute("result").toString();
String json="{result:"+result+"}";
response.getWriter().write(json);
%>
结果发现SSO服务器访问URL后的返回值的空值,但是本地实测返回肯定是有值的,猜测是防火墙问题,网段问题等等,最后终于在别人的提醒下,发现是因为跨域了。

查询了Jquery的相关API,修改如下

js代码 at  SSO服务器

$.ajax({
    url:urls,
    type: "GET",
    dataType: "jsonp",
    jsonp: "jsonpCallback",
    crossDomain : true,
    data: {“name”:name,“code”:code},
    success: function (data){
     var result = data.results;
     var msg = result?"成功":"失败,请重新输入6位令牌数字";
     $("#verify").html("动态口令验证"+msg);
    },
       error: function(xhr){
        alert("请求出错(请检查相关度网络状况.)");
    }
   });


action代码 at 令牌服务器端
<%
Stringresult=request.getAttribute("result")==null?“”:request.getAttribute("result").toString();
String callback = request.getParameter("jsonpCallback")+"({\"results\":"+results+"})";       
response.getWriter().write(callback);
%>
飘红的两处命名必须相同。

最终结果OK,可以验证了。

分享到:
评论

相关推荐

    Jquery跨域Ajax请求测试

    本示例"Jquery跨域Ajax请求测试"将详细讲解如何利用jQuery实现这一功能。 首先,了解同源策略是理解跨域问题的关键。同源策略是浏览器为了保障用户安全而设定的一项机制,它规定了只有来自同一协议、同一域名和同一...

    JQuery Ajax 跨域访问的解决方案

    综上所述,JQuery Ajax跨域访问的解决方案,尤其是使用动态脚本方法,为开发者提供了一种便捷的跨域数据访问手段。但开发者应权衡不同方法的优缺点,以及在具体项目中的适用性,来选择最合适的实现方式。

    jquery ajax跨域html前台 php后台

    1. **jQuery的Ajax设置**:在使用Ajax进行跨域请求时,我们需要在`$.ajax()`方法中设置`dataType: 'jsonp'`。这告诉jQuery我们期望服务器返回JSON格式的数据,并通过JSONP机制来处理。 2. **JSONP原理**:JSONP的...

    Ajax跨域访问(ASP.NET Web)

    本教程将重点讲解如何在ASP.NET Web环境中处理Ajax跨域访问。 一、理解同源策略 同源策略是浏览器为了保护用户安全而实施的一项安全机制,它禁止了一个源(domain)的文档或脚本获取或操作另一个源的资源。这意味着...

    ajax跨域解决办法

    AJAX跨域问题的出现是由于浏览器的安全机制,旨在防止恶意网站通过脚本访问其他网站的数据,保护用户隐私。但是,在某些场景下,比如前后端分离的应用、API接口调用等,跨域请求是必要的。针对这一需求,有多种解决...

    JQury实现Ajax跨域访问

    **jQuery实现Ajax跨域访问** 在Web开发中,由于同源策略的限制,JavaScript通常只能对同一域名下的资源进行操作。然而,有时我们需要从不同源获取数据,这就是跨域访问的需求。jQuery通过Ajax提供了跨域请求的能力...

    JQuery跨域访问解决方案

    jQuery作为流行的JavaScript库,提供了一些机制来处理跨域访问。 JQuery的跨域解决方案主要依赖于JSONP(JSON with Padding)技术。JSONP是一种绕过同源策略的方式,它利用HTML中的`&lt;script&gt;`标签没有同源策略限制...

    IE8、IE9 Ajax 跨域解决办法

    解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写

    jquery下利用jsonp跨域访问实现方法

    在JavaScript的世界里,由于同源策略的限制,浏览器禁止了不同源之间进行AJAX通信,但JSONP(JSON with Padding)作为一种巧妙的方式,允许我们绕过这个限制,实现在jQuery中进行跨域请求。本篇文章将深入探讨JSONP...

    juery mobile使用ajax跨域请求服务器的小实例

    在这里,我们将探讨如何利用jQuery Mobile和Ajax实现跨域请求。 首先,理解什么是跨域请求。由于浏览器的安全策略,JavaScript通常被限制在同源策略之下,即只能访问与当前页面相同协议、域名和端口的资源。但有时...

    JQuery Ajax跨域调用和非跨域调用问题实例分析

    本文实例讲述了JQuery Ajax跨域调用和非跨域调用问题。分享给大家供大家参考,具体如下: 现在的互联网技术发展的越来越快,我们在开发过程中遇到的问题也越来越多。比如当我们需要进行跨域访问数据的时候该如何进行...

    Jquery 跨域访问 具体实例

    这是一份非常有用的Jquery跨域访问实例,里面提供了3种方法,前台后台都有涉及,希望对你们会有所帮助

    jqueryajax jquery ajax

    CORS(Cross-Origin Resource Sharing)是现代浏览器支持的跨域访问方式,jQuery AJAX通过设置请求头来实现。需要服务器端配合设置响应头,允许特定的跨域请求。 综上所述,jQuery AJAX简化了JavaScript中的异步...

    JSONP实现Ajax跨域访问

    ### JSONP实现Ajax跨域访问 #### 一、引言 JSONP(JSON with Padding)是一种用于解决跨域数据访问的技术。由于同源策略(Same-Origin Policy)的存在,JavaScript/Ajax只能请求同源的资源,这给需要跨域访问数据...

    demo跨域ajax_DEMO_ajax跨域_

    本示例“demo跨域ajax_DEMO_ajax跨域”着重解决C#后端与JavaScript前端之间的跨域限制。这里我们将深入探讨什么是跨域、为何会产生跨域问题以及如何通过C#和Ajax实现跨域通信。 首先,我们需要了解什么是跨域。根据...

    Ajax跨域详解与代码

    1. **CORS(Cross-Origin Resource Sharing)跨域资源共享**:服务器端设置响应头`Access-Control-Allow-Origin`,指定允许跨域访问的源。例如,设置为`*`表示允许所有来源,或者指定特定域名。同时,还可以通过其他...

    ajax跨域调用wcf实例

    确保只允许可信的源进行跨域访问,并对敏感操作进行身份验证和授权。 通过以上步骤,你可以成功地使用AJAX跨域调用WCF服务。在实际项目中,需要根据具体需求调整配置,并结合安全措施,以确保服务的稳定性和安全性...

    ajax跨域访问

    ### AJAX跨域访问详解 #### 一、引言 在前端开发中,由于浏览器的同源策略限制,当一个页面发起请求到不同源时(即域名、端口、协议三者之一不同),就会触发跨域问题。AJAX作为一种常用的前端技术,在进行数据...

Global site tag (gtag.js) - Google Analytics