手机获取cookie的方法

最先,如果不跨域,发送Ajax请求,比如:
$( "#btn_login" ).on( "click", function( event ){ ? ? ?


手机获取cookie的方法

文章插图
? ? ? $.ajax({
? ? ? ? ? ?type: "POST",
? ? ? ? ? ?url: serverURL'/user',
? ? ? ? ? ?dataType: 'json',
? ? ? ? ? ?dataType : 'jsonp',
? ? ? ? ? ?data:{ 'nickname': nickname, 'password': password, 'action': 'login' },
? ? ? ? ? ?error: function(xhr, ajaxOptions, thrownError){
? ? ? ? ? ? ?//alert(xhr.status); ? ? ? ? ? ? ? ?
? ? ? ? ? ?},
? ? ? ? ? ?success: function(xml, status, jqxhr){
? ? ? ? ? ? ?if('true' == xml.issuccessful){//登录成功 ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?alert(document.cookie);
? ? ? ? ? ? ? ? ?$('#rtnInfo').html("登陆已取得成功,正在跳转...");
? ? ? ? ? ? ? ? ?$("#bkbutton").trigger("click");
? ? ? ? ? ? ?}else{//登录失败
? ? ? ? ? ? ? ? ?$('#rtnInfo').html(xml.reason);
? ? ? ? ? ? ?}? ? ? ? ? ?
? ? ? ? ? ?}
? ? ? ?});
? ?});
网络服务器Java根据Response写一个cookie:
? ?Cookie cookie = new Cookie(cookieName,"");
? ?cookie.setDomain("your.server.domain");
? ?cookie.setPath("/");
? ?cookie.setMaxAge(10000);
? ?response.addCookie(cookie);
那麼alert(document.cookie)結果是:
可是假如应用Intel XDK 的Emulate,一样的编码,获取到的結果以下:
随后假如用Intel XDK 的Test,或是用Cordova封裝到手机开展检测,結果以下:
那表明在手机上 document.cookie浏览不到Ajax请求得到 的回到的带网站域名的cookie的 。
那麼是否能够根据getResponseHeader得到 呢?
success: function(xml, status, jqxhr){
? console.log(jqxhr.getResponseHeader("Set-Cookie"));
});
大家根据:
了解,也是获取不到的 。
那根据Jquery的cookie软件是不是能够呢?
大家根据导入软件:
发觉,根据:
$.cookie('go*****')
【手机获取cookie的方法】也是获取不到?
那麼大家的那么问题来了,html5做手机开发,怎样使用cookie是最佳实践?
我的了解有两个方式:
第一个方式,app中无需传统式的cookie解决,改成html5的localstorage,能够参照:
即:
服务端json数据信息传回cookie的值,随后存有 local storage中:
window.localStorage.setItem("Cookies", data);
在之后的发送Ajax请求都应用:
beforeSend:setHeader
function setHeader(xhr){ ? ?xhr.setRequestHeader('Set-Cookie', window.localStorage.getItem("Cookies"));}
第2个方法,大家发觉尽管根据js获取不到服务端传回的cookie,可是事实上app的运作时是获取来到的,在之后的请求中事实上是发送了之前传回来的cookie的,故,果断在js中全都不干 。仅仅有一个难题,是app中删掉不上这一cookie,客户退出登录时,再度让端口设置cookie为到期 。