2011-07-28 11 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 
} 

クリスチャン

関連する問題