Проблема с плагином для атмосферы Грааля - PullRequest
0 голосов
/ 28 июля 2011

Я использую плагин Atmosphere в приложении Grails, чтобы сделать Ajax push-вызовы для клиента.Базовая архитектура состоит в том, что у меня есть цикл на сервере, который создает данные, которые я хочу отправить в браузер, поэтому на каждой итерации он использует метод атмосферы broadcast () для отправки данных клиенту.

Он отлично работает, когда я использую его вне цикла, например:

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

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

Однако, когда я использую его программно внутри цикла, браузер выдает ошибку: Недопустимая или недопустимая строка былауказанный код: 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)
    }

Есть идеи, почему это происходит?Спасибо!

1 Ответ

0 голосов
/ 28 июля 2011

Я думаю, что это должно работать, если вы удалите кавычки.

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

Кристиан

...