js进阶ajax基本用法(创建对象,连接服务器,发送请求,获取服务器传过来的数据)

一、总结

1、ajax的浏览器的window对象的XMLHtmlRequest对象的两个重要方法open(),send()

2、ajax对象XMLHtmlRequest对象的三个重要属性a、onreadystatechange   b、readyState  c、status d、responseText  e、statusText

3、onreadystatechange判断状态改变属性的使用:  myajax.onreadystatechange=function(){}

4、ajax使用四个步骤(详细看下面代码)

  • a、创建XMLHttpRequest对象 
  • b、open()方法连接服务器 
  • c、send()方法发送请求给服务器 
  • d、onreadystatechange属性连接函数以接收responseText属性从服务器返回的数据

二、js进阶ajax基本用法

准备工作

配置本地服务器环境,这里推荐安装:phpstudy,优点:一次性安装,无须配置即可使用,非常方便

Ajax 简介

什么是 Ajax ?

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)

AJAX 可以通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

Ajax 的基本用法

  1. 创建 XMLHttpRequest 对象

    语法:var myAjax=new XMLHttpRequest();
    老版本的 IE(IE5 和 IE6)使用 ActiveX 对象:
    var myAjax=new ActiveXObject("Microsoft.XMLHTTP");

  2. 向服务器发送请求:使用open() 和 send() 方法:
    • open(method,url,async):规定请求的类型、URL 以及是否异步处理请求。
      1. method:请求的类型;GET 或 POST
      2. url:文件在服务器上的位置
      3. sync:true(异步)或 false(同步)
    • send(string):string:仅用于 POST 请求
  3. 服务器响应

    如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

    • responseText 属性:responseText 属性返回字符串形式的响应
    • responseXML 属性:如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性
  4. onreadystatechange 事件

    当请求被发送到服务器时,我们需要执行一些基于响应的任务。 每当 readyState 改变时,就会触发 onreadystatechange 事件。

    • XMLHttpRequest 对象的三个重要的属性:
      1. onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
      2. readyState:存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
        1. 0: 请求未初始化
        2. 1: 服务器连接已建立
        3. 2: 请求已接收
        4. 3: 请求处理中
        5. 4: 请求已完成,且响应已就绪
      3. status:200: "OK"/404: 未找到页面

三、代码

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ajax01</title>
<script src="ajax.js"></script>
</head>
<body>
<input type="button" id="btn" value="测试按钮">
<script>
/*
兼容IE6,IE5
if (window.XMLHttpRequest){
var myajax=new XMLHttpRequest()
}else{
var myajax=new ActiveXObject("Microsoft.XMLHTTP");
}
*/
var btn=document.getElementById('btn')
btn.onclick=function (){
//1.创建Ajax对象
var myajax=new XMLHttpRequest()
//alert(myajax) //IE6及其以下版本不支持
//2.连接服务器
// open(方法,文件路径,异步传输)
myajax.open('GET','test1.txt',true);
//3.发送请求
myajax.send(null);
//4.接受返回的数据
myajax.onreadystatechange=function(){ //1、onreadystatechange属性的使用时连接函数
if(myajax.readyState==4){ //2、readyState是XMLHttpRequest对象的属性,所以要是对象.属性的方式访问
if (myajax.status==200) {
alert('成功'+myajax.responseText) //3、js中+号连接字符串 4、XMLHttpRequest对象的responseText属性获取从服务器返回的数据
}else{
alert('失败'+myajax.status)
}
}
} }
</script>
</body>
</html>

js进阶ajax基本用法(创建对象,连接服务器,发送请求,获取服务器传过来的数据)的更多相关文章

  1. js进阶ajax的XMLHttpRequest对象的status和statustext属性(如果ajax和php联合使用的话:open连接服务器的第二个参数文件路径改成请求php的url即可)

    js进阶ajax的XMLHttpRequest对象的status和statustext属性(如果ajax和php联合使用的话:open连接服务器的第二个参数文件路径改成请求php的url即可) 一.总 ...

  2. js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可)

    js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可) 一.总结 ajax读取json和读取普通文本,和获 ...

  3. js进阶ajax函数封装(匿名函数作为参数传递)(封装函数引入文件的方式非常好用)

    js进阶ajax函数封装(匿名函数作为参数传递)(封装函数引入文件的方式非常好用) 一.总结 2.匿名函数作为参数传递 二.js进阶ajax函数封装 ajax1.js function ajax(ur ...

  4. Ajax学习系列——向服务器发送请求

    1.如何发送请求? 如果需要向服务器发送请求,我们使用的是XMLHttpRequest对象中的open()和send()方法. var xhr = new XMLHttpRequest();//具体创 ...

  5. 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)

    用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, ...

  6. 【03】AJAX 向服务器发送请求

    AJAX 向服务器发送请求   创建 XMLHttpRequest 对象后,就可以向服务器发送请求了. XMLHttpRequest 对象的 open() 方法和 send() 方法用来向服务器发送请 ...

  7. System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .

    今天使用sql server 2008 R2管理器,进行SQL查询时,频率非常高的报错: System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误. ...

  8. AJAX - 向服务器发送请求请求

    AJAX - 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据.直线电机生产厂家 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 ...

  9. ajax-向服务器发送请求

    ajax-向服务器发送请求 1.将请求发送到服务器,使用XMLHttpRequest对象的 open() 和 send() 方法.     xmlhttp. open(method,url,async ...

随机推荐

  1. 今日SGU 5.9

    SGU 297 题意:就是求余数 收获:无 #include<bits/stdc++.h> #define de(x) cout<<#x<<"=" ...

  2. JavaScript学习总结(9)——JS常用函数(一)

    本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助. 1. 字符串长度截取 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

  3. 洛谷——P2695 骑士的工作

    https://www.luogu.org/problem/show?pid=2695 题目背景 你作为一个村的村长,保卫村庄是理所当然的了.今天,村庄里来了一只恶龙,他有n个头,恶龙到处杀人放火.你 ...

  4. ReactNavtive框架教程(4)

    开头的响应码, 这些代码都很实用. 比如202 和 200表示返回一个推荐位置的列表.当完毕这个实例后.你能够尝试处理这些返回码.并将列表提供给用户选择. 保存,返回模拟器,按下Cmd+R ,然后搜索 ...

  5. C#截取中英文混合字符串分行显示

    private int GetStrByteLength(string str) { return System.Text.Encoding.Default.GetByteCount(str); } ...

  6. 18/9/9牛客网提高组Day1

    牛客网提高组Day1 T1 中位数 这好像是主席树??听说过,不会啊... 最后只打了个暴力,可能是n2logn? 只过了前30%  qwq #include<algorithm> #in ...

  7. [TS] Implement a doubly linked list in TypeScript

    In a doubly linked list each node in the list stores the contents of the node and a pointer or refer ...

  8. CSDN博客的文章分类和战略规划

    CSDN原创文章已经有300多篇了,现在已经整理了好多个分类目录了. 今天,特别向大家介绍下,每个分类的含义和规划. CSDN博客是我的一个重要的自媒体,也是我的一个战略实践. 我会精心维护这个博客, ...

  9. FarPoint.Win.Spread 常规操作

    FarPoint.Win.Spread.FpSpread fSpread = new FarPoint.Win.Spread.FpSpread();             //设置 行数.列数    ...

  10. uva 1463 - Largest Empty Circle on a Segment(二分+三分+几何)

    题目链接:uva 1463 - Largest Empty Circle on a Segment 二分半径,对于每一个半径,用三分求出线段到线段的最短距离,依据最短距离能够确定当前R下每条线段在[0 ...