2016-10-04 73 views
0

您好我想从饼干得到令牌值,并将它添加到URL但像*(星号)额外字符被添加。请帮助我如何在URL中传递我的令牌值而不添加任何字符。如何将标记值添加到URL并传递它,而不允许添加任何额外的字符?

这里是我的javascript代码

urls.put("AppName", "javascript:submitApplication()"); 

function submitApplication() { 

var cookieToken = "SSOCookie"; 
var newToken = GetCookie(cookieToken); 

myWindow = window.open(myhost + "/webapp/sso?ssotype=type1&appname=APP1&mode=ARD&newToken="+newToken,'ApplicationName'); 

myWindow.focus(); 
} 

我newToken值添加星星如下

https://test.test1.com/webapp/sso?ssotype=type1&appname=APP1&mode=ARD&newToken=AQIC5wM2LY4SfczjfZ-64LqYUNHjjYVmu13iznLg1gKZoas * AAJTSQACMDIAAlNLABM2MTI2ODc1MDg4MDc4MzE0NjI0AAJTMQACMDY。**

但我想这是因为通过(不添加任何字符)

https://test.test1.com/webapp/sso?ssotype=type1&appname=APP1&mode=ARD&newToken=AQIC5wM2LY4SfczjfZ-64LqYUNHjjYVmu13iznLg1gKZoas.AAJTSQACMDIAAlNLABM2MTI2ODc1MDg4MDc4MzE0NjI0AAJTMQACMDY

请帮助我,我怎么能传递URL此令牌值而不允许添加任何额外的字符。谢谢

回答

0

我会做这样的事情:

请接受一个cookie名称的函数,来检索要查找的cookie。

function getCookie(cookieName) { 
var name = cookieName + '='; 
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) === 0) { 
     return c.substring(name.length, c.length); 
    } 
    } 
return ''; 
} 

然后,只要您需要获取该cookie,您只需声明一个变量并调用该函数即可。

var myCookie = getCookie('name_of_the_cookie'); 

将cookie添加到网址。

var basicUrl = 'https://www.google.dk'; 
var fullUrl = basicUrl + '/' + myCookie; 
+0

您好感谢您的答复。我的“newToken:价值有一个正确的标记值(无*)在submitApplication()函数,但*正在通过I,E在URL它的出现请告知 – user3495160

+0

这是奇怪后增加一次我做正确如上所述,。并且工作得很完美,你有没有发布的任何相关代码?我没有看到你提供的代码片段有任何错误,试着和console.log(newToken),看看它的价值是什么检索它,或在开发者工具(应用程序 - > cookies - >您的站点)中显示 – Daniel

+0

实际上,这只发生在OpenAM环境中,无论如何,请您告诉我加密,还是通过帖子形式传递价值,以便价值是没有经过任何修改。 – user3495160