javascript - Jquery的$.get()方法在发送请求的时候怎么才能带上cookie?
黄舟
黄舟 2017-06-15 09:22:34
0
6
1345

Jquery的$.get()方法在发送请求的时候怎么才能带上cookie?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(6)
滿天的星座

在同一个域下,自动就会带上cookie

伊谢尔伦

首先,jquery的get方法和post方法都是对ajax的一种封装,见源码

jQuery.each( [ "get", "post" ], function( i, method ) {
jQuery[ method ] = function( url, data, callback, type ) {

    // Shift arguments if data argument was omitted
    if ( jQuery.isFunction( data ) ) {
        type = type || callback;
        callback = data;
        data = undefined;
    }

    // The url can be an options object (which then must have .url)
    return jQuery.ajax( jQuery.extend( {
        url: url,
        type: method,
        dataType: type,
        data: data,
        success: callback
    }, jQuery.isPlainObject( url ) && url ) );
};

} );`

然后,发送请求的时候怎么才能带上cookie?
ajax方法发送请求的时候,会自动带上你所登录的域名的cookie,不需要你设置。

所以,Jquery的$.get()方法什么时候都会带上cookie

typecho

使用的时候客户端会自动带上cookie,jquery已经封装好了,如果你想自己自定义cookie的话,可以使用$.cookie插件去设置一下客户端cookie最后get。

关于调试,你可以开启控制台F12,在network查看请求头中的信息

巴扎黑

先在控制台Application里面的cookies选项里面找找,cookies设置get成功了没。如果有设置好,客户端在同一域名下,会自动在每个页面带上cookie的。

学习ing

发送请求时浏览器会自动携带cookie传递给后台的,只有localStorage/sessionStorage的参数要传递的话需要异步时以参数传递

为情所困
**$.support.cors = true;**
$.ajax({
            url: urls.getDetailList,
            type: "get",
            dataType: "json", 
            **xhrFields: { withCredentials: true },**
            success: function(res) {}
})

你应该是$.support.cors跨域没打开,加端代码就可以 withCredentials,另外后端也要配跨域才行

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板