1

Play コントローラーに次の Scala があるとします (簡潔にするために縮小しています)。

object Sample {
     def apply(someArgToBeUsedLater: String) = {
          val success = Map("foo" -> List("Things", "Stuff", "Test"))
          Ok(Json.toJson(success)).as("application/json")
     }
}

次のように、クライアント側で結果の JSON を使用したいと思います (JQuery):

jsRoutes.controllers.Application.myFunc(someArgToBeUsedLater).ajax({success:     
     function(data) {
    $(data.foo).each(function(index) {
        $('#unorderedList').add("li").html(this);
    });
}});

私はthis単一の文字列になりたいのですが、FireBug を見ると、文字が分割されているように見えます:String { 0="T", 1="h", 2="i", more...}

(JQuery each() を使用せずに) ストレートな JavaScript を使用して単純に反復する場合、問題はないようです。したがって、単に JQuery を間違って使用しているように見えます。一方、私は Scala に比較的慣れていないため、JSON を正しく構築したかどうかも疑問に思っています。

4

1 に答える 1

1

$.each(data.foo, function(index){ ... }) を試してください

$('data.foo') は、JQuery セレクターが DOM の一部を取得するための構文です。

于 2012-12-21T21:14:21.480 に答える