javascript - 如何使用cookie中保存的URL?

标签 javascript angularjs cookies

我正在使用 Angular 将 URL 保存在 cookie 中

$cookies.put("targetURL": "http://partners.api.xyz.net/apiservices/deeplink/v2?_cje=TmvlUQgTj%2fbxOQ%2bkXy5haJR9JWcHT9aaSjEP%2fEbwSq4uZqOYt%2fRV9FYsU1PT80PD&url=http%3a% 2f%2fwww.apideeplink.com%26cabin_class%3deconomy%26facilitated%3dfalse%26ticket_price%3d72.82%26is_npt%3dfalse%26is_multipart%3dfalse%26client_id%3d2017-02-22T10%3a02%3a07")

但是,我必须使用纯 JavaScript 检索此 cookie。当我尝试获取它时,字符串会转换为

http%3A%2F%2Fpartners.api.xyz.net%2Fapiservices%2Fdeeplink%2Fv2%3F_cje%3DTmvlUQgTj%252fbxOQ%252bkXy5haJR9JWcHT9aaSjEP%252fEbwSq4uZqOYt%252fRV9FYsU1 PT80PD%26url%3Dhttp%253a%252f%252fwww.apideeplink .com%2526cabin_class%253deconomy%2526facilitated%253dfalse%2…e%2526is_multipart%253dfalse%2526client_id%253d2017-02-22T10%253a02%253a07”并且不再可点击。

要检索 cookie,我正在使用以下函数:

function getCookie(name) {
  var value = "; " + document.cookie;
  var parts = value.split("; " + name + "=");
  if (parts.length == 2) return parts.pop().split(";").shift();
}

为什么字符串会这样改变,我该如何解决这个问题?

最佳答案

您需要使用 decodeURIComponent() 解码 URI

old = "http%3A%2F%2F";
new = decodeURIComponent( old );

#new => http://

关于javascript - 如何使用cookie中保存的URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42390815/

相关文章:

javascript - 按键事件监听器在 Mozilla SDK 中不起作用

javascript - TypedArray 和 ArrayBuffers(node/chrome)上的 Object.freeze() 未按预期工作

javascript - 如何用 ng if 隐藏 ng Repeat

angularjs - 使用 AngularUI Bootstrap Modal 的 AngularJS 中的范围问题

javascript - 在 Angular Js 中动态设置范围对象的属性

检测第三方cookie是否被禁用的JavaScript解决方案

PHP:使用存储为 cookie 的 token 防止 session 劫持?

javascript - 在数据表列中设置复选框的样式

javascript - 如何在 FormDataConsumer 中使用异步 javascript 函数(例如 fetch)

php - 如果有人嗅探了您加密的 cookie 数据并将其原封不动地发送到服务器怎么办?