`
m635674608
  • 浏览: 5028615 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

利用jquery和jsonp来获取跨站数据,并实现cookie共享

 
阅读更多

 一般js是不跨域的,但是有的时候我们得通过跨域让cookie共享,

所以,我们就可以上用jquery来做了.

客户端如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script>
//重要,不能删除
function addCookie(objName,objValue,objHours){//添加cookie
    var str = objName + "=" + escape(objValue);
    if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objHours*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
    }
    document.cookie = str;
}
  
$.ajax({
             type: "get",
             async: false,
             url: "http://aaa.com/Index/createmzlidv",
             dataType: "jsonp",
             jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
             jsonpCallback:"jsonpscall",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
             success: function(jsons){
                 addCookie("mzlid",jsons.mzlid,20)
             },
             error: function(){
                 alert('fail');
             }
         });
</script>

在请求那个url的时候,我们输出一个json格式的字符串,

如下:

1
jsonpscall({'mzlid':'99b5879d008e53620d96931f5617d72e26182'})

这个内容可以是在后台动态生成。

 

调用成功的时候,我们再 加cookie值,这样,cookie就和目标域中的cookie值一样了.

 

http://www.jqyui.com/faq/list.asp?Unid=392

分享到:
评论

相关推荐

    jquery.cookie

    jQuery.cookie是jQuery的一个插件,它为JavaScript提供了方便易用的接口来操作cookie,让开发者能够更轻松地处理这些数据。 一、jQuery.cookie的引入与基本使用 首先,我们需要引入jQuery库和jQuery.cookie.js文件...

    跨域获取cookie,多个网站实现一键登录.pdf

    整个流程的关键在于利用了浏览器对同一站点下的Cookie共享机制,以及JSONP解决跨域请求的限制。这种方法的一个潜在安全风险是,如果A网站的`getcookies.php`接口没有做好安全防护,可能会被恶意利用,导致用户信息...

    Jquery跨域Ajax请求测试

    除了JSONP,还可以通过CORS(Cross-Origin Resource Sharing,跨源资源共享)来实现跨域请求。CORS需要服务端支持,在响应头中添加`Access-Control-Allow-Origin`字段,指定允许哪些源进行跨域请求。在jQuery中,...

    jsonpajax跨域请求

    jQuery提供了方便的$.ajax()和$.getJSON()方法来实现JSONP请求。在jQuery中,只需设置`dataType: 'jsonp'`,jQuery会自动处理JSONP的所有细节,包括创建`&lt;script&gt;`标签、动态生成回调函数名以及处理返回的数据。 4...

    老裴帮助关于Jquery中Ajax的常用方式

    - **跨域请求**:CORS(跨源资源共享)允许Ajax进行跨域请求,jQuery可以通过设置xhrFields: {withCredentials: true}支持带上cookie。 - **JSONP**:当需要向其他域名发送请求时,由于同源策略限制,可以利用JSONP...

    Winform下动态执行JavaScript脚本获取运行结果,谈谈网站的自动登录及资料获取操作.doc

    在本文档中,主题聚焦于在Winform环境下如何动态执行JavaScript脚本来获取网页的运行结果,并探讨了如何利用这一技术实现网站的自动登录和数据获取操作。Winform是.NET Framework中的一个用户界面框架,用于创建桌面...

    JquerySession.js

    如果前端和后端不在同一域名下,需要后端开启CORS(跨源资源共享)支持,或者使用JSONP(JSON with Padding)等跨域解决方案。 5. **注意事项** - 确保服务器端有处理Session相关请求的接口。 - Session数据存储...

    ajax基础教程

    要实现跨域,可以使用JSONP(JSON with Padding)、CORS(跨源资源共享)或代理服务。 **七、使用Cookie** Ajax请求可以携带和使用Cookie,服务器通过设置Set-Cookie头将Cookie发回,客户端在后续请求中自动附带...

    留言系统完整版

    同时,为了处理跨域问题,可能需要用到JSONP或者CORS(跨源资源共享)策略。 安全性是任何Web应用不可忽视的一环。留言系统应防止SQL注入、XSS攻击等常见安全威胁。这需要对用户输入进行有效过滤和转义,使用预编译...

    签到小助手浏览器插件用于签到各种web网站

    此外,签到小助手可能会遇到跨域问题,这时需要了解CORS(跨源资源共享)机制和JSONP(JSON with Padding)等技术来解决。在与服务器进行通信时,可能还会使用fetch API或者jQuery的$.ajax方法。 压缩包文件名为...

    什么是跨域解决方案有哪些.docx

    通过 jQuery 的 ajax 方法,可以设置 dataType 为 jsonp,实现跨域通信。 3)vue.js: 通过 Vue.js 的 jsonp 方法,可以实现跨域通信。 后端 node.js 代码示例: 通过 Node.js 可以创建一个 HTTP 服务器,处理...

    asp.net(C#)跨域及跨域写Cookie问题

    2. JSONP只支持GET请求,所以如果需要通过POST请求跨域交互数据,需要考虑使用其他技术,如CORS(跨源资源共享)。 3. 跨域请求可能受到服务器配置和浏览器安全设置的影响,因此在进行开发时,需要根据目标浏览器和...

    Securing Ajax Applications

    1. **跨站脚本攻击(XSS)**:Ajax应用常常需要处理用户输入的数据,如果这些数据未经充分验证和过滤,就可能被恶意注入JavaScript代码,导致跨站脚本攻击。开发者应使用适当的编码和验证机制,例如使用DOM Purify等库...

    Ajax跨域访问Cookie丢失问题的解决方法

    在使用CORS时,还应注意CORS安全问题,比如不要将敏感信息通过Cookie传输,防止CSRF(跨站请求伪造)攻击。 总结来说,跨域资源共享是一个复杂但必要的机制,正确配置CORS头部可以实现安全、有效的跨域请求。开发者...

    前端笔试面试题目总结.pdf

    20. JSON与JSONP:JSON是数据交换格式,JSONP是一种跨域数据获取的技巧,通过动态插入script标签实现。 21. DOM操作:选择节点、遍历节点、创建和修改节点等,包括`getElementById`、`querySelector`、`appendChild...

    PHP下ajax跨域的解决方案之jsonp实例分析

    JSONP(JSON with Padding)是...随着现代浏览器对CORS(跨源资源共享)的支持,JSONP逐渐被更安全、更灵活的CORS所替代。但鉴于老版本浏览器的兼容性需求,JSONP仍然是许多开发者在进行跨域通信时的重要选择。

    ajax跨域访问

    JSONP是一种利用`&lt;script&gt;`标签的src属性可以跨域加载的特性来实现跨域请求的技术。具体实现过程如下: 1. **前端构造请求**:客户端构造一个`&lt;script&gt;`标签,并设置其`src`属性为服务端提供的URL,同时指定一个回...

    请求跨域的解决方案.docx

    请求跨域的解决方案主要涉及到Web开发中的安全性原则和跨域资源共享(CORS)机制。当一个Web应用尝试从一个不同的源(域名、协议或端口)请求资源时,浏览器会根据同源策略(Same-Origin Policy)限制这种行为,以...

    跨域的原因以及解决方案.docx

    jQuery 实现 JSONP 的基本思路是动态创建 `&lt;script&gt;` 标签,并将其插入到 DOM 中,然后利用回调函数处理返回的数据。请求完成后,动态创建的 `&lt;script&gt;` 标签会被销毁。 ##### 2.3 CORS (跨域资源共享) CORS 是一...

    面试题总结.docx

    常见的解决方案包括CORS(跨源资源共享)和JSONP。CORS是一种安全策略,服务器可以通过响应头来指定哪些域名可以访问其资源。JSONP则是一种绕过同源策略限制的技术,适用于GET请求。 ### 四、UniApp与5+App UniApp...

Global site tag (gtag.js) - Google Analytics