某处意外的令牌ILLEGAL ..

时间:2013-02-06 17:49:59

标签: coffeescript

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之外什么都没有。

1 个答案:

答案 0 :(得分:1)

你在一个数组上调用JSON.parse,由于浏览器实现它的方式,这显然有资格作为语法错误而非正常异常。你基本上是这样做的:

JSON.parse([{id: 123}].toString())

与以下内容相同:

JSON.parse('[object Object]')

哪个是非法JSON,因此错误。