【发布时间】:2014-09-24 21:57:28
【问题描述】:
好的,问题来了……
我将所有“已保存的锻炼”作为文本对象存储在 Google 数据存储中。 当我查看我保存的锻炼时,服务器会以大量 JSON 对象的形式返回所有保存的锻炼。我解析这些并在我的 JSP 页面上按名称显示它们。
一切正常。
现在,如果我想再次使用保存的锻炼,我只需从数组中提取锻炼 JSON,并使用 jQuery $ajax 调用 servlet(转发到“showWorkout.jsp”)再次显示锻炼(使用传入的 JSON)。
问题似乎是 $ajax 调用需要回调。这是正确的吗?
如您所见,我正在尝试从将 JSON 传递到的 servlet 转发到“showWorkout.jsp”。回调似乎阻止了这一点。 “showWorkout.jsp”永远不会显示,当前页面也不会改变。
我可以使用回调调用“showWorkout.jsp”并包含 JSON 以显示锻炼吗?我宁愿不要将整个 JSON 作为 URL 中的查询参数。
或者...我可以禁用回调并允许 servlet 转发到 JSP 吗?
谢谢!
【问题讨论】:
-
如果目标是在浏览器中加载一个全新的页面,则不应使用 AJAK。您应该简单地发布一个将 JSON 设置为隐藏字段值的表单。如果目标是用 servlet 返回的 HTML 片段替换页面的一部分,那么您需要发送 AJAX 请求,并使用回调函数将接收到的 HTML 注入当前页面的元素中。