我收到一个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中运行良好。
答案 0 :(得分:8)
请改为尝试:
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
总是更安全。
答案 1 :(得分:0)
包含@
和点表示法的媒体资源名称在Chrome中不兼容。请改用square bracket notation(在构造对象时已经这样做了。)