【问题标题】:How to send the HttpResponse including both JSON and html如何发送包括 JSON 和 html 的 HttpResponse
【发布时间】:2014-12-31 12:41:12
【问题描述】:

在我的应用程序中,动态数据以两种方式检索到页面

  1. 页面加载完成后,发送ajax请求,获取JSON数据

  2. 在页面生成时,JSON数据被写入到javascripts所在的服务器端页面(例如在JSP中。var data='<%=jsonData%>';

    正如我在 google 中发现的,有人建议将 JSON 中的 html 作为 JSON 值发送并返回浏览器 (like this)。

我想在没有上述步骤的情况下同时获取 html 页面和 json 数据。有什么建议吗?

注意:我使用 Spring、Struts 框架。即使支持这样的框架,有什么可能的方法吗?

【问题讨论】:

  • 想知道两次回复都没有得到他们的原因吗?

标签: javascript html spring jsp struts


【解决方案1】:

将 HTML 作为 JSON 值返回一点也不成问题(但不推荐这样做。这就是 AngularJS 如此出色的原因)。您只需要小心一些可能会破坏您的 JSON 返回的字符。示例:

转义引号:

var myobject = {
  name: 'contentHTML',
  value: '<div><a href="#" onclick="goTo(\'test.html\')"></a></div>'               
};

替换断线也是个好主意:

var myobject = {
  name: 'contentHTML',
  value: '<div><a href="#" onclick="goTo(\'test.html\')">
         </a></div>'   // It will not work.            
};

在您的 HTML 中,您可以执行以下操作(使用 jQuery):

$('#myContent').append(myobject.value);

【讨论】:

  • 谢谢。但是这种方式已经在我的问题本身中注意到了。正如您所提到的,通常不建议这样做,这就是为什么我要求另一种方法来做到这一点。再次感谢 nanndoj 的回答。
  • 我推荐你使用 AngularJS。组织 HTML 和 JSON 响应非常棒
猜你喜欢
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 2011-03-31
  • 2012-07-03
  • 1970-01-01
  • 2019-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多