[英]Having difficulty stripping HTML tags from an AJAX response
我有一个非常简单的Web应用程序,遇到了麻烦。 我有两个文件。
的helloWorld.jsp:
int result = 0;
out.println("<html><body>"+result+"</body></html>");
getHelloWorld.jsp:
<html><head>
<script type="text/javascript>
function getHelloWorld() {
$.get("/helloWorld.jsp, function(data) {
var temp = $.trim(data);
temp = temp.text(); //have also tried temp.html() and a few other things
$('#status').val(temp);
});
}
window.onload = function() {
getHelloWorld();
};
</script></head>
<body><div id='status'></div></body></html>
我的问题是:加载getHelloWorld.jsp时,我什么都没得到(上面的代码未产生输出),或者输出了“ 0”。 我试图实现的结果是仅打印出没有HTML标签的“ 0”。 我无法使用简单的查找和替换解决方案,因为我需要这个简单的代码来处理更复杂的响应。 我想我可以做正则表达式,但是如果已经有处理此问题的功能,我宁愿不要重新发明轮子。
是否有任何(简单)方法可以如上所述从AJAX调用中剥离HTML标签?
获取HTML并将其放入jQuery对象(这将使jQuery将其放入文档片段并解析HTML),然后从jQuery对象中提取文本:
function getHelloWorld() {
$.get("/helloWorld.jsp", function(data) {
var temp = $(data).text();
$('#status').val(temp);
});
}
window.onload = getHelloWorld;
工作演示: http : //jsfiddle.net/jfriend00/9hxrqgzn/
有人可能想知道为什么只需要一个数字就为什么要从服务器返回HTML。 也许您应该返回JSON而不是那只是数字,然后jQuery将为您处理JSON响应并给您所需的数字。
如果使用JSP,最好以这种方式(在服务器端)包括jsp页面:
<body>
<div id='status'>
<jsp:include page="helloWorld.jsp"/>
</div>
</body>
如果要使用JS,请尝试以下操作:
$.get("/helloWorld.jsp", function(data)
{
document.getElementById("status").innerHTML = data;
});
但是,如果要使用JQuery,请尝试以下操作:
$('#status').load("helloWorld.jsp");
当您像上面这样包含时,它将剥离html和body标签。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.