我想用jquery和ajax定时刷新出数据库里的聊天记录,但是一直没办法将数据库里的数据调出来,怎么办?

我想用jquery和ajax定时刷新出数据库里的聊天记录,但是一直没办法将数据库里的数据调出来,怎么办?,第1张

1、我是用php的,对jsp不熟,但是ajax技术过程应该是通用的,希望能给你有所提示。

ajax在实现无刷新请求服务器端数据时,你返回用了三个输出流,这样ajax只能捕捉到第一个输出,后面的程序就不会执行了(或者有执行的,但是不会再返回给前台页面了,只有第一个才会返回给前台页面)。所以我建议你可以用一个数组将你要返回的这三组数据统一到数组中,然后将数组统一传递到前台页面。在php中用到了json,我觉得问题就在于此。

2、另外由于ajax是无刷新的,而当你读取数据库中数据,想要显示数据时,有些必须要刷新页面,要不然你就得在页面加载时就将所有数据传递给页面,如果你用了ajax获取到了后台页面,但此时页面已经加载完成,这样就不会显示出你从后端读出的数据,你可以在js里用reload函数,重载本页面就可以实现。这里的问题经常是会在d出显示或者用ajax删除时出现的问题,给你说下希望能能给你提供思路~~

HTML

<form id="formHolder">

    <input type="text" name="text1" id="text1" value="1" />

    <input type="text" name="text2" id="text2" value="2" />

    <input type="text" name="text3" id="text3" value="3" />

    <input type="text" name="text4" id="text4" value="4" />

</form>

JS

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script type="text/javascript">

    $(document).ready(function(){

        refreshForm()

    })

    function refreshForm(){

        $("input").each(function(){

            var number = parseInt($(this).val()) + 1

            $(this).val(number)

        })

        setTimeout(refreshForm, 5000)

    }

</script>

url后面的querystring,多一个随机值比如原来是

request.html?action=getUserInfo&name=esdimate

的时候

function ranId(n) {

n = (n = parseInt(n)) >8 ? n : 8

var id = '',idKeys = "abcdefghkmnpqrstuvwxyz0123456789"

while (n--) {

id += idKeys.charAt(parseInt(Math.random() * 32))

}

return id

}

url="request.html?action=getUserInfo&name=esdimate&"

url = url + ranId()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9841613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存