2011-07-28 4 views
0

Grails 애플리케이션에서 Atmosphere 플러그인을 사용하여 클라이언트에게 Ajax 푸시 호출을하고 있습니다. 기본 아키텍처는 클라이언트에 데이터를 보내기 위해 대기 브로드 캐스트() 메서드를 사용하는 모든 반복에서 브라우저에 푸시하려는 데이터를 만드는 서버에 루프가 있습니다.Grails 대기 플러그인 문제

이 같은 루프 외부에서 사용할 때 잘 작동 : 유효하지 않은 불법 문자열 지정 :

def builder = new JSONBuilder() 
def jsonResult = builder.build{ 
     artist = "incubus" 
     location = { 
       lat = 45.678909 
       lng = -14.45667 
     } 
    } 

broadcaster['/atmosphere/recommend'].broadcast(jsonResult) 

을하지만, 내가 루프 내부에 프로그래밍 방식을 사용하는 경우, 브라우저는 오류가 발생합니다 "code :"12, 제대로 작동하지 않습니다.

[[lat:45.678909,lng:-14.45667],[lat:32.56433,lng:22.4566]].each{ 
     def builder = new JSONBuilder() 
     def jsonResult = builder.build{ 
      artist = "incubus" 
      location = { 
       lat = '"${it.lat}"' 
       lng = '"${it.lng}"' 
      } 
     } 

     broadcaster['/atmosphere/recommend'].broadcast(jsonResult) 
    } 

어떤 아이디어 왜 이런 일이 다음과 같이

루프의 간단한 예는? 감사합니다.

답변

0

따옴표를 제거하면 제대로 작동한다고 생각합니다.

location = { 
    lat = it.lat 
    lng = it.lng 
} 

기독교