当前位置: 首页 > 知识库问答 >
问题:

(AJAX - Jsp include)如何用AJAX包含一个Jsp?

柯波
2023-03-14

我试图通过Ajax调用将jsp页面包含在另一个页面中。问题是,如果要包含的页面在html元素之间有一些空格,它将使插入失败。

例如,下面是我的演示index.jsp:

function include() {
  alert("Hello from include function.");

  $.ajax({
    type: "GET",
    url: "Include",
    success: function() {
      alert("Ajax success function.");
      $("#container").html("<jsp:include page='hello.jsp' />");
      alert("Ajax end success function.");
    }
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>
  <button onclick="include()">Include</button>
  <div id="container" style="border: 1px solid red;"></div>
</body>

下面是要包含的 hello.jsp 页面(元素标记之间没有空格,否则包含将失败):

<p>Hello from the included file.</p><p>Hello from the included file.</p><p>Hello from the included file.</p>

而这个 servlet 只有一个什么都不做(目前)doGet 方法。

对你们所有人来说都是一样的吗?我的代码有问题吗?是否有其他工作方式来完成相同的任务?

共有1个答案

白修谨
2023-03-14

相反,您需要向该页面发出请求,然后将返回的HTML转储到元素中。

 类似资料:
  • 问题内容: 在JSF2中,是否可以使用Ajax请求动态更改ui:include的src值(例如PrimeFacesp:commandButton)?谢谢。 那就是我现在所拥有的。是否有可能使它成为Ajax(使用p:commandButton)? 问题答案: 另一个答案中提出的JSTL标签不是必需的,并且不能很好地重用。 这是一个使用纯JSF的基本示例(假设您运行Servlet 3.0 / EL 2

  • 问题内容: 加载页面后,我将对php脚本执行Ajax调用,这将更新服务器。但是,此脚本有时可能需要一分钟才能完成,并且在脚本运行时,我无法执行我需要处理的其他Ajax调用- 即第一个Ajax调用不应中断其他Ajax调用。任何想法如何做到这一点? 首次Ajax通话: 第二个Ajax调用(用户触发的调用): 问题答案: 腺苷的上述评论是正确的。 “在PHP中,一次只能在一个会话上运行一个脚本,以免覆盖

  • 问题内容: 我从以下代码调用函数: 我的功能是 我怎么只能拨打一次ajax电话?所以当内容被加载并且页面不被拒绝时不加载ajax吗?我尝试做布尔变量,但什么也没做,我支持这是因为我调用了everytime函数。请给我一个想法。 谢谢 问题答案: 当您想对该事件做某事时。 确定何时已加载数据。 或在您想一次调用时使用。 参考

  • 问题内容: 假设我有 1)一个HTML文档。 2)此HTML文档将这样加载Javascript文件“ code.js”: 3)用户单击“ code.js”中运行“ fetchdata”功能的按钮, 4)“ fetchdata”功能看起来像这样: … 现在,我如何成功执行以下操作: 我想以某种方式插入/评估我的Javascript,因此“ code.js”中的所有函数(包括“ fetchdata”和

  • antiforgerytoken是在表单内生成的,但我没有使用提交操作来提交它。相反,我只是使用jquery获取令牌的值,然后尝试用ajax发布该值。 下面是包含令牌的表单,位于顶部母版页:

  • 问题内容: 我有以下代码: 我想在不使用JavaScript的情况下将验证令牌添加到链接中,这似乎是多余的依赖项,因为我已经在服务器中拥有该值。有适当的方法吗? 问题答案: 从MSDN文档(我的重点) HtmlHelper.AntiForgeryToken方法 生成一个隐藏的表单字段(防伪令牌),该表单字段在提交 表单 时经过验证。 您需要一个form元素来生成防伪令牌。