addToBasket = (id, qty) ->
if $.cookie("basket")?
# Basket exists
basket = $.parseJSON($.cookie("basket"))
basket.push( { "id": id, "qty": qty } )
$.cookie("basket", JSON.stringify(basket))
else
# Basket doesn"t exist
alert "Creating basket"
basket = JSON.parse([{"id": id, "qty": qty}])
$.cookie("basket", JSON.stringify(basket))
Mi sto strappando i capelli, non riesco a capirlo(equivalente compilato) da eseguire, ottenendo sempre l'errore del token illegale. Ho verificato la presenza di personaggi non autorizzati e invisibili e non c'è nulla oltre a CR / LF.
risposte:
1 per risposta № 1Stai chiamando JSON.parse
su un array, che apparentemente si qualifica come un errore di sintassi anziché come una normale eccezione a causa del modo in cui i browser lo implementano. Stai essenzialmente facendo questo:
JSON.parse([{id: 123}].toString())
Che è lo stesso di:
JSON.parse("[object Object]")
Che è JSON illegale, quindi l'errore.