ajax如何请求后台数据并将数据显示到静态的html页面?请高手指教!后台是struts2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax如何请求后台数据并将数据显示到静态的html页面?请高手指教!后台是struts2相关的知识,希望对你有一定的参考价值。

参考技术A 正在用这个 ...用的也是struts2,就是有个问题,传到后台,虽然是post方式,却出现乱码问题...
我没有彻底解决这个问题,只是写了个方法,在接收参数时,重新编码了一下,看看你能不能研究出好方法,分享一下啊...

function sendrequest()
createXhr();
xhr.onreadystatechange = rspstate;
xhr.open("post","xxx.action",true);
xhr.send(null);


var xhr;
function createXhr()
if(window.ActiveXObject)
xhr = new ActiveXObject("Microsoft.XMLHTTP");
else
xhr = new XMLHttpRequest();



function rspstate()
if(xhr.readyState==4)
if(xhr.status==200)
var r = xhr.responseText;
document.getElementById("div的id").innerhtml=r;



以上sendrequest() 这个函数是固定的...不用动
rspstate()这个是接收action响应回来的结果...回答的结果 var r = xhr.responseText;接收...
还需要一个中转的JSP,这个挺重要的...就是把结果先在action中return "xxx";xxx有对应的接收JSP页面,然后var r = xhr.responseText; 这里得到的是xxx对应接收的JSP页面上的内容...
哦了...还有不懂的地方,再联系...

ajax请求到后台数据,前台不用拼接字符串,一样显示到页面

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>


<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>
<script type="text/javascript" src=\‘#\‘" /js/jquery-1.11.1.min.js"></script>

<style>
</style>
<script>
    $(document).ready(function() {
        //搜索按钮(全部搜索和按条件搜索)
        $("#searchBtn").click(function(){
            var itemname = $("#itemname").val();
            var year = $("#year option :selected ").val();
            //当输入框为空,年份没选择,就为搜索全部数据
            if(itemname =="" && year == undefined){
                $.get("<%=request.getContextPath()%>/searchAll",
                         function(data){
                               $.each(data.tasklist ,function(i,obj){
                                   /* 获取数据,添加给模板表格 */
                                   $("#id").text(obj.id);
                                   $("#name").text(obj.name);
                                   $("#type").text(obj.type);
                                   $("#cost").text(obj.cost);
                                   $("#state").text(obj.state);
                                   $("#date").text(obj.date);
                                /*复制模板表格,并插入到指定位置*/
                                   $("#temp_tr").clone(true).insertAfter("#is_header");
                               });
                      });
            }
            
        });
    });
</script>

</head>

<body>

<!-- 表格模板---用于处理获取后台数据后生成表格, -->
<div id="temp" style="display: none;">
        <table id="temp_table">
            <tr id="temp_tr">
                <td id="id" width="5%" height="25" align="center" bgcolor="#EFFBFE">aa</td>
                <td id="name" align="center" bgcolor="#EFFBFE">bb</td>
                <td id="type" colspan="2" align="center" bgcolor="#EFFBFE">cc</td>
                <td id="cost" align="center" bgcolor="#EFFBFE">dd</td>
                <td id="date" align="center" bgcolor="#EFFBFE">ff</td>
                <td id="state" align="center" bgcolor="#EFFBFE">ee</td>
                <td align="left" bgcolor="#EFFBFE">
                    <div align="left" style="padding-left: 5px">
                        <div align="center">
                            <input name="edit" type="button" value="编辑" /> &nbsp;
                            <input name="delete" type="button" value="删除"/>
                        </div>
                    </div>
                </td>
            </tr>
        </table>
</div>


<!-- 以下是显示到页面的内容-->
    <table width="99%" height="25" border="0" align="center"
        cellpadding="0" cellspacing="0" style="margin-bottom: 4px;">
        <tr>
            <td width="17" background="images/bj4.gif"><img
                src="Picture/r.gif" width="16" height="16" /></td>
            <td width="466" background="images/bj4.gif">张宇(学院申报者):你好!欢迎光临,您上次登录时间是:2015-09-20
                23:15:15</td>
            <td width="162" align="center" background="images/bj4.gif"></td>
        </tr>
    </table>
    <table width="99%" border="0" align="center" cellpadding="0"
        cellspacing="0">
        <tr>
            <td width="1%" align="left" background="images/b2.jpg"><img
                src="Picture/b1.jpg" width="10" height="26" /></td>
            <td width="68%" background="images/b2.jpg"><table width="124"
                    border="0" align="left" cellpadding="0" cellspacing="0">
                    <tr>
                        <td width="20" align="left"><img src="Picture/tz.gif"
                            width="10" height="16" /></td>
                        <td width="104" align="left" class="biao">项目搜索</td>
                    </tr>
                </table></td>
            <td width="31%" align="right" background="images/b2.jpg"><img
                src="Picture/b3.jpg" width="9" height="26" /></td>
        </tr>
    </table>
    <table width="99%" border="0" align="center" cellpadding="3"
        cellspacing="1" bgcolor="#AEDEF4">
        <tr>
            <td align="center" bgcolor="#E2F7FE">
                <form id="form1" name="form1" method="post"
                    action="<%=path%>/searchByYear">
                    <table width="50%" border="0" cellspacing="1" cellpadding="3">
                        <tr>
                            <td width="10%" height="25" align="center">项目名称:</td>
                            <td width="14%" align="left"><label> <input
                                    name="itemname" type="text" id="itemname" size="20" />
                            </label></td>
                            <td width="6%" align="center">年份:</td>
                            <td width="14%" align="left"><select name="year" id="year">
                                    <option value="">全部</option>
                                    <option value=‘2009‘>2009</option>
                                    <option value=‘2010‘>2010</option>
                                    <option value=‘2011‘>2011</option>
                                    <option value=‘2012‘>2012</option>
                                    <option value=‘2013‘>2013</option>
                                    <option value=‘2008‘>2008</option>
                                    <option value=‘2014‘>2014</option>
                                    <option value=‘2015‘>2015</option>
                                    <option value=‘2016‘>2016</option>
                                    <option value=‘2017‘>2017</option>
                            </select></td>
                            <td width="8%"><input type="button" id="searchBtn"
                                name="searchBtn" value="搜索" /></td>
                        </tr>
                    </table>
                </form>
            </td>
        </tr>
    </table>

    <table width="50%" border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td height="5"></td>
        </tr>
    </table>
    <table width="99%" border="0" align="center" cellpadding="0"
        cellspacing="0">
        <tr>
            <td width="1%" align="left" background="images/b2.jpg"><img
                src="Picture/b1.jpg" width="10" height="26" /></td>
            <td width="68%" background="images/b2.jpg"><table width="124"
                    border="0" align="left" cellpadding="0" cellspacing="0">
                    <tr>
                        <td width="20" align="left"><img src="Picture/tz.gif"
                            width="10" height="16" /></td>
                        <td width="104" align="left" class="biao">项目列表</td>
                    </tr>
                </table></td>
            <td width="31%" align="right" background="images/b2.jpg"><img
                src="Picture/b3.jpg" width="9" height="26" /></td>
        </tr>
    </table>
    <!-- 这里是获取后台数据,并画出显示表格 -->
    <table id="is_table" width="99%" border="0" align="center"
        cellpadding="3" cellspacing="1" bgcolor="#AEDEF4"
        style="border: 1px solid #AEDEF4">

        <tr id="is_header">
            <td width="5%" height="25" align="center" bgcolor="#EFFBFE">ID</td>
            <td align="center" bgcolor="#EFFBFE">项目名称</td>
            <td colspan="2" align="center" bgcolor="#EFFBFE">项目类型</td>
            <td align="center" bgcolor="#EFFBFE">申请经费</td>
            <td align="center" bgcolor="#EFFBFE">提交时间</td>
            <td align="center" bgcolor="#EFFBFE">状态</td>
            <td align="center" bgcolor="#EFFBFE">管理操作</td>
        </tr>
<!-- 克隆的模板表格,粘贴到这里 -->
        <tr>
            <td height="25" bgcolor="#FFFFFF">&nbsp;</td>
            <td colspan="6" bgcolor="#FFFFFF"><span class=‘pagelink‘>首页</span>
                <span class=‘pagelink‘>上一页</span> <span class=‘pagelink‘>下一页</span>
                <span class=‘pagelink‘>尾页</span> &nbsp;&nbsp;转到第&nbsp; <input
                id=‘jumpSelect‘ type=‘text‘ size=‘2‘ value=‘1‘ />页</td>
            <td bgcolor="#FFFFFF">

            </td>
        </tr>
    </table>
</body>
</html>

以上是关于ajax如何请求后台数据并将数据显示到静态的html页面?请高手指教!后台是struts2的主要内容,如果未能解决你的问题,请参考以下文章

使用ajax的get请求渲染html

如何将 $_SESSION 变量添加到 Ajax 请求中并将数据插入到 mysql 数据库 PHP 中?

ajax请求到后台数据,前台不用拼接字符串,一样显示到页面

ajax后台返回的数据如何在HTML上成列表显示,下面的翻页功能怎么来做

如何在后台连续运行 ajax 请求?

jsp前台在利用Ajax向后台发起请求,如何判断后台数据库里的数据是不是发生过更新?