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))
我把头发撕掉了;我无法运行(编译的等效)函数,总是得到非法令牌错误。我检查过流氓,看不见的角色,除了CR / LF之外什么都没有。
答案 0 :(得分:1)
你在一个数组上调用JSON.parse
,由于浏览器实现它的方式,这显然有资格作为语法错误而非正常异常。你基本上是这样做的:
JSON.parse([{id: 123}].toString())
与以下内容相同:
JSON.parse('[object Object]')
哪个是非法JSON,因此错误。