2013-02-06 2 views
2
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 외에는 아무것도 없다.예기치 못한 토큰 ILLEGAL .. 어딘가

+0

샘플 2 행의 물음표가 정확한지 확인하십시오. 저는 전문 커피 전문인이 아니지만 문서에서 물음표와 관련된 내용을 찾을 수 없습니다. http://coffeescript.org/#conditionals – Spontifixus

+0

@Spontifixus 예, 해당 페이지에 "Existential Operator"로 표시됩니다. 나는 늪지 표준 "처음에는 아무 것도 정의되지 않았다." ? 그냥 정리할 뿐이 었어. – user1381745

+0

아 물론 ... 나머지 코드는 충분히 멋지게 보입니다. 그래도'$ .cookie ('basket') 구문을 해석합니다. JSON 구문 분석기가 "바구니"에 무엇이있을 수 있습니까? – Spontifixus

답변

1

배열에서 JSON.parse을 호출하고 있습니다. 브라우저가이를 구현하는 방식 때문에 정상적인 예외 대신 구문 오류가있는 것으로 간주됩니다. 당신은 기본적으로이 일을하고 있습니다 : 불법 JSON, 따라서 오류가

JSON.parse('[object Object]') 

:과 동일

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

합니다.

관련 문제