【问题标题】:render JSON data in view - play framework在视图中呈现 JSON 数据 - 播放框架
【发布时间】:2012-09-22 16:27:41
【问题描述】:

我是新手。我正在使用 renderJSON 来生成 JSON 数据。如何在我的视图中访问这些数据。我试过渲染(“视图”,jsonobject)。当我试图在 jquery 脚本中访问这个对象时,这里没有收到任何数据。

我尝试使用 ajax 调用。以下方法在我的控制器中

public static void getJSONWords(){
 .......
 render(jsonObject);
}

public static void wordcloud(){
    render();
}

我的观点“wordcloud.html”制作了一个ajax

       $.ajax({

    url: "/getJSONWords",
    dataType : 'json',
    success: function (data) {
             .......
            });

但我没有为我们的 ajax 调用获取任何数据。我尝试使用 Firfox 调试器,检查日志文件 ajax 调用是否正在调用相应的控制器操作。感谢您的帮助

【问题讨论】:

  • 什么版本的玩!你正在用吗?版本 1.2.x 还是 2.0.x?
  • 通常我将 renderJSon 与 ajax 请求一起使用。在这种情况下,您的数据将位于 $.get 或 $.post 函数的第一个变量(通常称为数据)内
  • @MarcoCalì 我尝试使用 ajax 调用,但没有得到任何数据。你能看看吗?谢谢。
  • 如果你在 post 或 get 函数中设置断点,你可以检查局部变量数据
  • @MarcoCalì 尝试使用 Firefox 进行调试,但由于某种原因没有获取数据。

标签: jquery model-view-controller playframework playframework-1.x


【解决方案1】:

renderJSON直接将JSON返回给浏览器,不被View处理。

如果你想访问你视图中的jsonObject,那么你可以这样做

render(jsonObject);

这会将 json 对象传递给您的视图,并将其作为jsonObject 提供。因此,在您的视图中,您可以执行类似的操作。

<script>
   var data = ${jsonObject.raw()};
   $(document).ready(function() {
      // process your JSON once the rest of the document is rendered
   });
</script>

请注意,我使用raw() 来防止特殊字符被转义。

UDPATE:在您更新后提供更多信息……您的 AJAX 调用中的路由似乎不正确。它应该看起来像......

   $.ajax({

    url: "@{Application.getJSONWords}",
    dataType : 'json',
    success: function (data) {
             .......
            });

【讨论】:

  • 如果您正在进行 ajax 调用,那么 renderJSON 是正确的做法。不过,您的路线可能是错误的……请参阅我的更新。
  • 我试过这样 $.ajax({ url: "/getJSONWords", dataType : 'json', success: function (data) { var testData = data;}});在我的控制器中使用 renderJSON(jsonObject) 但我的 ajax 失败了。谢谢。
  • 您的路线文件中有什么?如果没有,那么您的路线不正确。按照我的建议设置路线,看看会发生什么。
【解决方案2】:

您是否尝试过在您的视图中使用#{jsAction /} 标记作为documented herehere。该标签被设计为透明地从控制器获取方法定义。该文档显示了很多有关其用法的示例,因此我想这将有助于您处理问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多