国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

safari cookie設(shè)置中文失敗的解決方法

2019-10-21 18:53:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近用H5進(jìn)行手機(jī)端開發(fā),由于是window操作系統(tǒng),為了方便開發(fā)和調(diào)試,直接在chrome瀏覽器上進(jìn)行測(cè)試,然后在android機(jī)上進(jìn)行手機(jī)端測(cè)試,當(dāng)功能基本完工后,原來(lái)在android上運(yùn)行正常的應(yīng)用,在IOS上運(yùn)行時(shí),出現(xiàn)很多奇怪的問(wèn)題,根據(jù)排查,發(fā)現(xiàn)是由于cookie未取到值而導(dǎo)致相關(guān)信息無(wú)法獲取。

一開始以為是cookie中文亂碼的問(wèn)題,后來(lái)跟蹤發(fā)現(xiàn),cookie的值壓根就沒(méi)賦值成功,網(wǎng)上查了資料,發(fā)現(xiàn)safari不允許非ASCII編碼的值,換句話說(shuō):不允許中文存儲(chǔ)。

為了解決這個(gè)問(wèn)題,在設(shè)置cookie值的時(shí)候必須先編碼,然后取值的時(shí)候再解碼。

后端設(shè)置cookie用的asp.net,前端獲取用的Javascript,他們的編碼和解碼能一致么?當(dāng)前只能試一試了:

試了幾種方法,發(fā)現(xiàn)用HttpUtility.UrlEncode()進(jìn)行編碼成功:

cookie = new HttpCookie("rdname");  cookie.Value = HttpUtility.UrlEncode(user.RegisterDeptName);  cookie.Expires = System.DateTime.Now.AddDays(30);  context.Response.Cookies.Set(cookie);  

客戶端Javascript解碼為:

var deptName = cookie('rdname');  deptName= decodeURIComponent(deptName);  $("#pickerlb").val(deptName);  

也就是說(shuō):Javascript中的decodeURIComponent()和C#的HttpUtility.UrlEncode()是配對(duì)的。

以上這篇safari cookie設(shè)置中文失敗的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。

 

注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到IOS開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平陆县| 福海县| 黄石市| 漳州市| 桂阳县| 九江县| 万年县| 永嘉县| 和龙市| 靖西县| 淮南市| 阜城县| 台北市| 台安县| 故城县| 静海县| 龙胜| 九龙县| 康马县| 临朐县| 财经| 长岭县| 疏勒县| 水富县| 无为县| 仁化县| 西吉县| 五常市| 宿迁市| 塔河县| 达拉特旗| 靖西县| 长治市| 麻栗坡县| 绥德县| 新邵县| 突泉县| 沙洋县| 比如县| 芦山县| 樟树市|