Неожиданная ошибка токена НЕЗАКОННОГО JavaScript в Google Chrome - PullRequest
4 голосов
/ 28 января 2010

Я получаю ошибку javascript (prototype.js): неожиданный токен ILLEGAL в этой строке кода:

newFriend = new friend(
    response[0].@items[0]._id, 
    response[0].@items[0]._nickName, 
    response[0].@items[0]._profilePicture, 
    response[0].@items[0]._tagLine, 
    response[0].@items[0]._isInvite, 
    response[0].@items[0]._confirm
);

объект ответа выглядит так:

[{"@type":"[Lcom.photoviewer.common.model.ThinUser;","@items":[{"_id":"000.060318.05022007.00263.0067ur","_nickName":"siraj","_country":null,"_currentStorageLimit":5000000000,"_currentStorage":0,"_currentFileCount":0,"_profilePicture":null,"_tagLine":null,"_membershipLevel":0,"_isRejected":false,"_isInvite":false,"_confirm":false,"_verifiedOn":1170716666000}]}]

Это происходит только в браузере Google Chrome и, возможно, в других браузерах webkit. В Firefox работает нормально.

Ответы [ 2 ]

8 голосов
/ 28 января 2010

Попробуйте вместо этого:

newFriend = new friend(
    response[0]["@items"][0]._id, 
    response[0]["@items"][0]._nickName, 
    response[0]["@items"][0]._profilePicture, 
    response[0]["@items"][0]._tagLine, 
    response[0]["@items"][0]._isInvite, 
    response[0]["@items"][0]._confirm
);

Я почти уверен, что @ создает вам проблему.

Для странных символов всегда безопаснее использовать обозначение ["@items"] вместо обозначения (точка) .@items.

0 голосов
/ 28 января 2010

Имена свойств, содержащие @ и точечные обозначения, несовместимы в Chrome.Вместо этого используйте квадратную скобку (вы уже делаете это при создании объекта).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...