zoukankan      html  css  js  c++  java
  • JS AJAX原理

    创建对象 > 请求 >  响应
     

    GET 还是 POST?
              与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
     然而,在以下情况中,请使用 POST 请求:
    无法使用缓存文件(更新服务器上的文件或数据库)
    向服务器发送大量数据(POST 没有数据量限制)
    发送包含未知字符的用户输入
     1 var AjaxFlux = function AjaxFlux(url)
     2 {
     3      var xmlhttp;
     4      var requesttxt;
     5 
     6      // 为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。
     7      //如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :
     8      if (window.XMLHttpRequest)
     9      {
    10           // 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。 
    11           xmlhttp=new XMLHttpRequest();
    12      }
    13      else
    14      {
    15           //老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
    16           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    17      }
    18 
    19 
    20      this.postResult = function(d){
    21          
    22           if(!xmlhttp){
    23                return;
    24           }
    25          
    26           //准备向服务器的GetDate.ashx发出Post请求。
    27           xmlhttp.open("POST" , url , false);
    28           xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    29           xmlhttp.send(d); 
    30          
    31          //响应
    32          //存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。 readyState
    33      0: 请求未初始化
    34                1: 服务器连接已建立
    35                2: 请求已接收
    36                3: 请求处理中
    37                4: 请求已完成,且响应已就绪
    38          //status 
    39                200: "OK"
    40                404: 未找到页面
    41           xmlhttp.onreadystatechange=function(){
    42                if(xmlhttp.readyState==4){
    43                     if(xmlhttp.status==200){
    44                          requesttxt=xmlhttp.responseText;
    45                         
    46                     }
    47                }
    48           }
    49      }
    50      return requesttxt;
    51 
    52 }
  • 相关阅读:
    js单体模式
    react实现递归搜索下拉查询目录树功能
    浏览器跨域问题分析
    css中清除浮动
    ts中的函数
    ts中类型
    RX.js6变化
    js对象模型3
    React数组变化之后,视图没有更新
    Mac安装yarn并配置环境变量PATH,运行报错问题解决
  • 原文地址:https://www.cnblogs.com/LYshuqian/p/2919120.html
Copyright © 2011-2022 走看看