AJAX-----script简单版

来源:互联网 发布:影响淘宝关键词 编辑:程序博客网 时间:2024/04/30 07:52

</pre>恩,简单记录一下ajax的简化操作:操作只有<span style="color:#ff0000;">用户名的input</span>调用了ajax<p></p><p>这里是jsp的显示代码</p><p><span style="color:#ff0000;"></span></p><pre name="code" class="html">用户名<input type="text"  id="textid" onblur="sendMessge()"/><span id="s"></span><br/>     邮箱<input type="text"  /><br/>      兴趣<input type="text" /></span><br/>

这里是JavaScript的方法:

得到XMLHttpRequest对象的ajax,很恶心

function getAjax(){    var ajax=null;    try {    //IE版本9以上的ajax=new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {//IE9以下的版本ajax=new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {try {//不是IE的浏览器ajax=new XMLHttpRequest();//针对某些版本的mozillar游览器的bug进行修正if(ajax.overrideMimeType){ajax.overrideMimeType("text/xml");}} catch (e) {alert("浏览器版本太垃圾");}}}    return ajax;    }
onblur的光标离开调用的方法;使用ajax传输数据到后台

//得到ajax的对象    var requset=null;    //发送消息格式,在组件中用onblur光标离开方法调用    function sendMessge(){    requset=getAjax();//得到ajax的XMLHttpRequest对象    //得到servlet回传消息    requset.onreadystatechange=callback;//指定回调的方法,不能有()    var textid=document.getElementById("textid").value;    //ran=Math.random()的随机数除去AJAX只执行一次    var url="servlet/Ajax?ran="+Math.random();//传递到servlet的路径requset.open("post",url,true);//传递方法open()方法//post请求附加语句requset.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//post请求需要设定http请求头var param="textid="+textid;//传递内容//两次编码,需要两次编码param=encodeURI(param);param=encodeURI(param);requset.send(param);//发送内容,send()方法    }
在onblur调用的方法中的方法
requset.onreadystatechange=callback;//指定回调的方法,不能有()
得到servlet回传的数据

function callback(){var s=document.getElementById("s");if(requset.readyState==4){//读取响应结果 0为XMLHTTPRequest对象没有完成初始化                                         //1 对象开始发送请求   //2 对象方式请求完成   //3 对象开始读取响应,还没有结束if(requset.status==200){//服务器响应正常  400 无法找到请求的资源                                                //403 没有访问权限   //404 访问的资源不存在    //500 服务器内部错误var str=requset.responseText;//获得响应的文本内容if(str=="true"){//用户名可以使用s.innerHTML="<font color='red'>√</font>";//获得响应的xml文档对象}else{//用户名不可以被使用s.innerHTML="<font color='green'>×</font>";<span style="font-family: Arial, Helvetica, sans-serif;">//获得响应的xml文档对象</span>}}else{alert("响应错误,请重试");}}else{s.innerHTML="用户名验证中";}



终结:AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)

1.传输格式固定

2.如果ajax只被调用一次的问题

a.在提交路径中加入的ran=Math.random()

b.全局变量的ajax对象中 var requset=null; 光标离开调用方法中首行获取该对象requset=getAjax();
 3.使用post提交方法必须加入这句话

requset.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

4.最好是两次编码,我也不知道为什么
var param="textid="+textid;//传递内容//两次编码,需要两次编码param=encodeURI(param);param=encodeURI(param);
servlet的处理页面                response.setContentType("text/html");request.setCharacterEncoding("utf-8");//针对表单提交response.setCharacterEncoding("utf-8");response.setHeader("Charset", "utf-8");//是用来设置返回页面的头 meta 信息, 使用时response.setHeader( name, contect ); PrintWriter out=response.getWriter();String textid=request.getParameter("textid");textid=java.net.URLDecoder.decode(textid,"utf-8");//可以对要传递的中文进行编码/* * 这里不适用数据库查询,使用本地字符 */try {if(textid.equals("123")){out.print("false");//该用户名存在了,传false给web端,表示用户名不可用}else{out.print("true");//该用户名可以使用}} catch (Exception e) {}





0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 六角龙尾巴烂了怎么办 兰花长出来的包怎么办 长寿花花开败了怎么办 手机分期0首付怎么办办 办分期手机掉了怎么办 手机办分期被骗了怎么办 办手机分期年龄不够怎么办 信美分期没额度怎么办 家里人不给我钱怎么办 商场租金收不上来怎么办 魅蓝2电池坏了怎么办 格力空调不制冷怎么办 空调外机不好放怎么办 美的空调显示e3怎么办 发现安装空调条码被撕怎么办 删除了国美安装码怎么办 海信空调保修卡丢了怎么办 海尔空调保修卡丢了怎么办 科龙空调不制冷怎么办 魅族s6屏幕碎了怎么办 格力空调化霜怎么办 一开空调就跳闸怎么办 洗衣机顶盖的安全开关损坏怎么办 苹果平板电脑拍照坏了怎么办 苹果hom键不灵了怎么办 平板电脑home键发烫怎么办 华为平板无法输入资料怎么办 安卓平板没声音怎么办? 平果手机充不了电怎么办 苹果6s用电太快怎么办 平板充不起电了怎么办 日本买的电器国内售后怎么办 海淘地址试投不成功怎么办 怀孕了吐得厉害怎么办 玩网页游戏好卡怎么办 网页游戏占cpu高怎么办 微信有余额绑定其他名下怎么办 银行卡绑定支付余额不对怎么办 可乐机不制冷了怎么办 被淘宝卖家威胁怎么办 征信不好想贷款怎么办