2016-03-31 3 views
1

Код:Неожиданный маркер% в angularjs

$scope.username=JSON.parse(getCookie('authData')).Username; 

Это то, что getCookie('authData') содержит:

%7B%22UserID%22%3A%22c980b08240178f48a4607cd1d081664b%22%2C%22Username%22%3A%22sajeetharan%40duosoftware.com%22%2C%22Name%22%3A%22sajeetharan+sinnathurai%22%2C%22Email%22%3A%22sajeetharan%40duosoftware.com%22%2C%22SecurityToken%22%3A%22a7dd024d5158c7e1ee4807cb9716cc6f%22%2C%22Domain%22%3A%22sajeetharan.digin.io%22%2C%22DataCaps%22%3A%22%22%2C%22ClientIP%22%3A%22104.155.236.85%3A33776%22%2C%22Otherdata%22%3A%7B%22JWT%22%3A%22eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkbW4iOiJzYWplZXRoYXJhbi5kaWdpbi5pbyIsImVtbCI6InNhamVldGhhcmFuQGR1b3NvZnR3YXJlLmNvbSIsImlzcyI6InNhamVldGhhcmFuLmRpZ2luLmlvIiwic2NvcGUiOnt9LCJzdCI6ImE3ZGQwMjRkNTE1OGM3ZTFlZTQ4MDdjYjk3MTZjYzZmIiwidWlkIjoiYzk4MGIwODI0MDE3OGY0OGE0NjA3Y2QxZDA4MTY2NGIifQ%3D%3D.YpFKYAw0t3RQkbrM9sjY1QAkz4AUxsmlE5uXMy%5C%2Fsc%3D%22%2C%22Scope%22%3A%22%22%7D%7D 

Что может быть проблема?

+0

Выглядит urlencoded для меня. , , – mgilson

ответ

6

Попробуйте functiondecodeURIComponent():

$scope.username=JSON.parse(
    decodeURIComponent(getCookie('authData')) 
).Username 

Значение печенья просто закодирован.

Значения файлов cookie могут не включать точку с запятой или пробел. Для по этой причине вы можете использовать функцию JavaScript encodeURIComponent() для кодирования значения перед его сохранением в файле cookie. Если вы сделаете это, вам также придется использовать функцию decodeURIComponent(), когда вы читаете значение cookie.

Подробнее о продукте this tutorial.

+0

спасибо, можешь сказать почему :) – Sajeetharan

+0

@Sajeetharan Отвечено обновлено. –

Смежные вопросы