IOS无法显示decodeURI的内容

Squall001 2017-11-04 09:23:26
我后台写3个cookie,其中一个是中文,所以用urlencode变换一下,最终发现想要在前台显示出来,在IOS里面会出现问题


先上后台代码 编译环境VS2017

if (Response.Cookies["openid"] == null)
{
Response.Cookies.Add(new HttpCookie("openid", OPENID));
}
else
{
Response.Cookies["openid"].Value = OPENID;
}

if (Response.Cookies["headimgurl"] == null)
{
Response.Cookies.Add(new HttpCookie("headimgurl", headimgurl));
}
else
{
Response.Cookies["headimgurl"].Value = headimgurl;
}
//由于以下昵称会涉及中文,所以需要url变换一下
if (Response.Cookies["nickname"] == null)
{
Response.Cookies.Add(new HttpCookie("nickname", HttpUtility.UrlEncode(NICKNAME,Encoding.UTF8)));
}
else
{
Response.Cookies["nickname"].Value = HttpUtility.UrlEncode(NICKNAME, Encoding.UTF8);
}

ViewBag.Url = "/WxPage/" + state;
return View("RedirectView"); //这里就是返回页面



前台页面


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="/Content/bootstrap.css" />
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<title>跳转中...</title>
</head>
<body>

<p id="cook" style="display:block;">aaa</p>
<p id="aaa" style="display:block;">%e5%bc%ba%e5%bc%ba</p>
<p id="bbb" style="display:block;"></p>
<p id="ccc" style="display:block;">ccc</p>

<script type="text/javascript">
$(document).ready(function () {
var ss = document.cookie
$("#cook").text(ss);

var name = getCookie("nickname");
$("#bbb").text(name);
var temp = decodeURI(name);
$("#ccc").text(temp);


});
//获取cookie
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}

</script>

<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Safari (IPhone)","requestId":"8bab6599be204989840f5218d36009b1"}
</script>
<script type="text/javascript" src="http://localhost:50477/57de96504ec6495e90a659aef5d9de65/browserLink" async="async"></script>
<!-- End Browser Link -->

</body>
</html>




以下是3个平台的截图
第一个就是不正常的显示,在IOS下面,完全不正确,怀疑是getCookie这个函数在IOS下运行都有问题,而且最开头还多了个nickname=;。不知道在哪里来的。。。而且在前台的编码转换都显示不出来的, decodeURI没用。。。



下面是在安卓手机上,完全正常。。。安卓就是好



下面是在微信开发工具上的,也是一切正常




...全文
281 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Squall001 2019-04-15
  • 打赏
  • 举报
回复
结贴了,IOS不支持cookies为中文。。。。。

61,129

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧