分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

Ajax

发布时间:2023-09-06 01:16责任编辑:赖小花关键词:Ajax

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面

  它的属性有:

    onreadystatechange  每次状态改变所触发事件的事件处理程序。

    responseText     从服务器进程返回数据的字符串形式。

    responseXML    从服务器进程返回的DOM兼容的文档数据对象。

    status           从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

    status Text       伴随状态码的字符串信息

    readyState       对象状态值

    0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)

    1 (初始化) 对象已建立,尚未调用send方法

    2 (发送数据) send方法已调用,但是当前的状态及http头未知

    3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,

    4 (完成) 数据接收完毕,此时可以通过通过responseXml和responseText获取完整的回应数据

  但是,由于各浏览器之间存在差异,所以创建一个XMLHttpRequest对象可能需要不同的方法。这个差异主要体现在IE和其它浏览器之间。下面是一个比较标准的创建XMLHttpRequest对象的方法。

Ajax原生写法创建xmlhttprequest对象

function oldAjax() {
???//1.发送ajax请求
???var xhr=null;
???if(window.XMLHttpRequest){
???????xhr=new XMLHttpRequest();
???}else{
???????xhr=new ActiveXObject("Microsoft.XMLHTTP");
???}
???//01.能准备发送请求的方式目标地址是否异步 true 异步
???xhr.open("post","/FirstServlet",true);
???xhr.onreadystatechange=function () {
???????if(xhr.readyState==4 && xhr.status==200){ ?//认为请求已经成功发送,并且客户端浏览器已经成功获取到服务器响应的数据
???????????//一个系统对象的属性,获取到响应回来的文本
???????????var data=xhr.responseText;
???????????// alert(data);
???????????$("#msg").html(data);
???????}
???};
???//请求中必须有Content-Type
???xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
???xhr.send("uname="+$("[name=uname]").val());
}

 getWriter().write()返回响应给客户端 

简便写法

function newAjax() {
???$.ajax({
???????url:"/FirstServlet",
???????type:"POST",
???????data:{"uname":$("[name=uname]").val()},
???????async:true,
???????success:function (data) {
???????????$("#msg").html(data);
???????}
???});
}


Ajax ?get请求写法
.get(‘/FirstServlet‘,{"uname":$("[name=uname]").val()},function (data) {
?????$("#msg").html(data);
?});
post请求
$.post(‘/FirstServlet‘,{"uname":$("[name=uname]").val()},function (data) {
?????$("#msg").html(data);
?});

getJSON方法
 $.get(‘/FirstServlet‘,{"uname":$("[name=uname]").val()},function (data) {
????????alert(typeof data);
????????$("#msg").html(data);
????});
load方法
$("#msg").load(‘/FirstServlet‘,{"uname":$("[name=uname]").val()});

serialize方法
var data=$.param($("#form1").serializeArray());




Ajax

原文地址:http://www.cnblogs.com/xuhaifeng017/p/7636031.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved