难以从AJAX响应中剥离HTML标记
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标签。
相关文章:
- Regex剥离具有特定属性的html标记
- jQuery Html负载剥离<表单>标签
- 在javascript变量中剥离部分HTML内容
- 剥离 HTML 模板中的所有 ID
- 使用 Jquery 剥离 HTML 标记
- 剥离HTML标记,但将内容保留在(javascript/jquery)中
- 使用正则表达式剥离HTML tagName
- 使用Content Javascript剥离HTML标记
- jQuery.editable:需要在编辑时剥离HTML中断
- 从导出的Excel中剥离HTML
- 剥离HTML,保留mailto标记的换行符
- 难以从AJAX响应中剥离HTML标记
- 使用自定义样式从过滤器中剥离HTML标记
- 使用节点验证器从字符串中剥离HTML标记
- 如何在PHP中剥离html标记类和id,只保留form和it元素
- Ckeditor 4.5.7剥离HTML标签,尽管配置.allowedContent = true
- 如何在不使用正则表达式的情况下在javascript中剥离HTML
标签
- 在Angular JS中从JSON中剥离HTML
- 从文本区域中剥离html按钮点击并存储剥离的文本
- 从ios中的数据中剥离HTML标签