Ajax一些问题的解决方案

坚持每天写博文,记录开发中的点点滴滴

  • ajax的请求都不需要使用缓存.

浏览器实现缓存原理:第二次请求的url如果和第一次请求的url一样,那么浏览器会使用缓存.
解决办法:让每次请求的url不一样.
_t参数没有任何意义,目的是让url不同解决浏览器缓存问题.
“/AjaxServlet?_t=”+new Date().getTime()

  • 出错的时候限制
    当请求出错的时候,比如我在后台写一行错误代码:
int i = 1/0;

那我的请求结果为:
这里写图片描述

但是这个结果不能让用户看到,那我应该在JS中添加一个判断:

if(ajax.readyState == 4 && ajax.status == 200){
                //后台文本数据
                var text = ajax.responseText;
                document.getElementById("text").innerHTML=text;
            }

其中readyState是请求状态 ,而status http的响应状态,正常是200

如果我想打印个错误信息:

if(ajax.readyState == 4){
                if(ajax.status == 200){
                    //后台文本数据
                    var text = ajax.responseText;
                    document.getElementById("text").innerHTML=text;
                }else{
                    alert("请求失败");
                }
            }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章