`

JavaScript---ajax

 
阅读更多
一、基本概念
        ajax: Asynchronous Javascript And Xml    用于在不重新加载整个页面的情况下,刷新部分页面
        XMLHttpRequest
        XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。
        XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
 
二、ajax操作常用步骤:
        1、创建XMLHttpRequest对象               
function createXMLHttpRequest(){
  //兼容更多的IE浏览器
  var ieTypes =["Microsoft.XMLHttp","Msxml2.XMLHTTP","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.6.0"];
  var xmlhttp;
  //所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。
  if(window.XMLHttpRequest){
    xmlhttp =newXMLHttpRequest();
  }else if(window.ActiveXObject){
    for(var i =0; i < ieTypes.length; i++){
     try{
        xmlhttp =newActiveXObject(ieTypes[i]);
        break;
      }catch(ex){
      }
   }
 }
  return xmlhttp;
}
 
         2、创建响应XMLHttpRequest对象状态变化的函数
XMLHttpRequest对象状态:readyState //HTTP请求状态
  0:请求未初始化
  1:服务器连接已建立
  2:请求已接收
  3:请求处理中
  4:请求已完成,且响应已就绪
XMLHttpRequest.onreadystatechange=function(){} //状态变化,调用函数,事件句柄,当XMLHttpRequest对象的状态发生变化时,会触发此函数
 
status 服务器返回的HTTP请求响应值(本地测试时,该返回值为0)
  200请求成功
  202请求被接收,但处理未完成
  400错误的请求
  404资源未找到
  500服务器内部错误
    
  3、创建HTTP请求
         
open(method,url)创建请求;为避免浏览器缓存,可以在url后添加"?"+newDate().getTime()
open(method,url,asynchronous,user,password)
   method:Post/GET
   url:相对或绝对地址
    asynchronous:是否是异步请求,默认true
   user:
   password:
 
  4、发送HTTP请求
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  // POST提交,发送之前需要设置HTTP header    设置请求头

send()发送请求
send(body)//无数据发送时,执行send(null), 内容 var body="name=abc&age=12"

post请求避免中文乱码:
             发送时进行两次编码  encodeURI(encodeURI(queryString)),
            (tomcat解一次,程序再解一次java.net.URLDecoder(string,"UTF-8"))
 
 5、判断异步调用是否成功
xmlhttp.onreadystatechange=function(){
  if(xmlhttp.readyState==4){
      if(xmlhttp.status==200||xmlhttp.status==0){//本机调用异步,status为0
            //do something
        }
    }
}
 
 6、获取返回的数据
   
responseText:到目前为止,服务器接收到的响应体 XMLHttpRequest处理时按照UTF-8处理
返回字符串形式的响应
responseXML:对请求的响应
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性
 
分享到:
评论

相关推荐

    Ajax-JavaScript-AJAX-JSON.zip

    Ajax-JavaScript-AJAX-JSON.zip,基本ajax json jquery,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况...

    JS正则表达式详解-JavaScript-AJAX

    JS正则表达式详解-JavaScript-AJAX

    Ajax-javascript-without-jquery.zip

    Ajax-javascript-without-jquery.zip,提示和实例,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改...

    Ajax-wc-ajax-product-filter.zip

    Ajax-wc-ajax-product-filter.zip,Woomerce AJAX产品过滤器-是一个插件,允许您根据类别、属性和价格轻松过滤产品。您可以对产品进行排序,导航到下一页和上一页,而无需重新加载该页。,ajax代表异步javascript和xml...

    Ajax-javascript-dictionary.zip

    Ajax-javascript-dictionary.zip,为js世界中的每个流行词添加解释,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载...

    javascript实例应用---Ajax与XMLHttpRequest.rar

    javascript实例应用---Ajax与XMLHttpRequest.rarjavascript实例应用---Ajax与XMLHttpRequest.rarjavascript实例应用---Ajax与XMLHttpRequest.rar

    Ajax-ajax-contact-form-wordpress.zip

    Ajax-ajax-contact-form-wordpress.zip,wordpress的联系人表单,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载...

    Ajax-magento2-ajax-cart-quick.zip

    Ajax-magento2-ajax-cart-quick.zip,magento 2 ajax购物车扩展插件提供舒适的购物体验。客户可以很容易地选择可配置的选项并在弹出窗口中编辑项目,而不会浪费重新加载页面的时间。,ajax代表异步javascript和xml。它...

    Google-AJAX-Search-API.rar

    【标题】"Google-AJAX-Search-API.rar" 涉及的是谷歌的 AJAX(Asynchronous JavaScript and XML)搜索 API,这是一个允许开发者在他们的网页上嵌入动态、实时的谷歌搜索功能的技术。这个API利用了AJAX技术,使得用户...

    Ajax-magento2-ajax-layered-navigation.zip

    Ajax-magento2-ajax-layered-navigation.zip,ajax分层导航magento 2提供了一个过滤器列表,帮助您的客户以最短的方式搜索和获得他们最喜欢的产品。这个扩展应用了现代ajax技术来增强过滤系统,以提高用户对页面上每...

    jquery.unobtrusive-ajax.rar

    该库的核心工作原理是通过监听DOM中的特定事件(如`click`或`submit`),然后根据元素上的特定数据属性(如`data-ajax="true"`、`data-ajax-url`等)来触发Ajax请求。例如,当用户点击一个链接或提交一个表单时,...

    Ajax-jquery-ajax-cache.zip

    Ajax-jquery-ajax-cache.zip,jquery插件,用于用“localstorage”或“sessionstorage”缓存ajax。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页...

    Ajax-div-ajax-mapping.zip

    Ajax-div-ajax-mapping.zip,用于javascript和php的库,允许映射php函数、类的静态方法和任意数据。这个类提供了一个更简单的解决方案来返回已注册的数据,而不必注册特定的函数。,ajax代表异步javascript和xml。它是...

    Ajax-online-chat-with-php-jquery-ajax-codeigniter.zip

    Ajax-online-chat-with-php-jquery-ajax-codeigniter.zip,这个应用程序表示使用codeigniter php框架、jquery和ajax的在线聊天。我还添加了表示用于测试应用程序的数据库的sql文件。只有首先导入数据库(chat.sql),...

    Ajax-ajax-shopping-cart-page.zip

    Ajax-ajax-shopping-cart-page.zip,magento 2购物车页面ajax更新数量,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...

    前端-JavaScript-ajax (axios、 promise、git...)

    ajax--ajax原生写法。axios发送请求。promise概念。git版本管理器使用。具体:请求与相应、浏览器和服务器、接口、回调函数、事件循环、宏任务与微任务、form表单提交、serialize插件、JSON、async,await、git仓库...

    Ajax-ember-ajax.zip

    Ajax-ember-ajax.zip,在ember应用程序中发出ajax请求的服务,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...

    xe-ajax3.4.13.js 封装 fetch 异步请求 javascript 库

    `xe-ajax` 是一个专门用于处理 HTTP 请求的 JavaScript 库,版本号为 3.4.13。它基于现代的 `Promise` API 进行设计,确保了在处理异步操作时的流畅性和可维护性。该库不仅适用于浏览器环境,还兼容 `node.js`,这...

Global site tag (gtag.js) - Google Analytics