ajax从服务器读数据,本地网页不刷新

2023-11-11

function ajax(url,fnSucc,fnFild){
	//1.创建对象
	var oAjax=null;
		if (window.XMLHttpRequest) {
			oAjax=new XMLHttpRequest();
		}else{
			oAjax=new ActiveXObject("Microsoft.XMLHTTP");
		}
		//2.连接服务器
		oAjax.open("GET",url,true);
		//3.发送请求
		oAjax.send();
		//4.接收数据
		oAjax.onreadystatechange=function(){
			if (oAjax.readyState==4) {
				if (oAjax.status==200) {
					fnSucc(oAjax.responseText);
				}else{
					if (fnFild) {
						fnFild();
					}
				}
			}
		}
}

1、 if (window.XMLHttpRequest) {
            oAjax=new XMLHttpRequest();
        }else{
            oAjax=new ActiveXObject("Microsoft.XMLHTTP");
        }

如果参数未定义会出错,如果属性未定义则为underfind;所以XMLHttpRequest前要加window。其中new ActiveXObject("Microsoft.XMLHTTP")为IE浏览器获取对象特有,其他浏览器则是new XMLHttpRequest()。

2、oAjax.open("GET",url,true);服务器通信方式有两种,一种是get方式,另一种是post方式,get方式把数据放在url中,post则不是。服务器为异步通信,所以用true。

3、当ajax与服务器通信时调用onreadystatechange函数。

4、readyState属性表示请求状态,有5种状态,分别为:

(1)0(未初始化)还没有调用open方法。

(2)1(载入)已调用send方法,正在发送请求。

(3)2(载入完成)send()方法完成,已收到全部相应内容。

(4)3(解析)正在解析相应内容。

(5)4(完成)相应内容解析完成,可在客户端调用。

5、status属性:表示请求结果,其中成功为200,未找到为404。

6、responseText属性:表示返回结果,从服务器返回内容。

7、调用ajax函数如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>自创ajax</title>
	<script src="new_ajax.js"></script>
	<script>
		window.onload=function(){
			var oBtn=document.getElementById("btn");
			oBtn.onclick=function(){
				ajax("page1.txt",function(str){
					alert(str);
				});
			}
				
		}
	</script>
</head>
<body>
	<input type="button" value="点击从服务器获取文件" id="btn">
</body>
</html>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajax从服务器读数据,本地网页不刷新 的相关文章

随机推荐

  • mac电脑怎么打开终端

    有时候需要输入命令 说是要打开终端 那么mac电脑怎么打开终端 3种方法来在Mac电脑上打开终端 这篇文章将教你如何在macOS系统上使用 启动台 聚焦搜索 或 访达 程序来打开终端 方法 1 使用启动台 打开启动台 如图所示 找到其他 如
  • UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xae in position 163: illegal multibyte sequence

    项目场景 python的execjs执行接js报编码错误 UnicodeDecodeError gbk codec can t decode byte 0xae in position 163 illegal multibyte seque
  • centos7在使用docker安装redis

    为什么要docker安装redis 实际工作中用了redis都是工具查询 可没有对redis的安装和配置涉及到 特地简单研究下 对redis内部的一些基本操作产生了一些兴趣 docker安装redis 1 docker 搜索redis do
  • 【金融工程实验】【matlab】使用candle函数画日均k线图

    使用candle函数画日均k线图 要求 数据 数据读入 数据处理 显示图形 本实验为课程设计需求 要求 下载一支股票2020年2月 3月的日线数据 并用MATLAB绘制日K线图 要求绘制5日均线和20日均线 数据 使用海王星软件导出的股票数
  • 控制工程专业英语词汇

    电路 中文 英文 电路 网络 Network 电路 Circuitry 电阻器 Resistor 电感器 Inductor 电容器 Capacitor 晶体管 Transistor 半导体 Semiconductor 晶体 Crystal
  • C语言EasyX_2018中的putimage(x, y, w, h, img, x1, y1)函数

    putimage x y w h img x1 y1 函数一共有六个参数 以下解释来自EasyX 2018的帮助文件 这个函数的几个重载用于在当前设备上绘制指定图像 绘制图像 void putimage int dstX 绘制位置的 x 坐
  • 自定义R语言中表头上下横线的线条类型和线条粗细

    自定义R语言中表头上下横线的线条类型和线条粗细 在R语言中 可以使用tab add hline函数来添加表格的水平线条 其中包括表头上下的横线 本文将详细介绍如何使用tab add hline函数来自定义表头上下横线的线条类型和线条粗细 首
  • js网络图片转base64

    先拿到一张图片地址 var imgUrl https www callmysoft com static index images image dgital 20creativity png 第一种方式 利用canvas canvas to
  • C 、C++ 、Java、Python、JavaScript数据类型对比介绍

    C C Java Python JavaScript数据类型对比介绍 C C Java Python JavaScript数据类型对比如下 C语言 静态类型语言 需要在声明变量时指定类型 基本数据类型包括 整型 int 通常分为有符号 si
  • 跳槽被问离职原因怎样回答能显出高情商?

    对于员工跳槽 原因很简单 要么是收入不高 要么是得到不公平待遇 心里委屈 这真是直击离职者内心 但是 当我们重新找工作 准备跳槽的时候 面试官很可能就会问你 你离职的原因是什么 跳槽被问离职原因怎样回答能显出高情商 广西事业单位招聘整理了如
  • 【C++】Boost库简介

    参考 https blog csdn net f110300641 article details 81865545 https www boost org doc libs 1 80 0 more getting started wind
  • 【100%通过率 】【华为OD机试c++/python】天然蓄水库【 2023 Q1考试题 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 公元2919年 人类终于发现了一颗宜居星球 X星 现想在X星一片连绵起伏的山脉间建一个天然蓄水库 如何选取水库边界 使蓄水量最大 要求 山脉用正
  • puppet—批量部署mysql5.7+httpd[包含启动]

    httpd install pp class httpd install package httpd name gt httpd ensure gt installed httpd service pp class httpd servic
  • 基于ARM的温度采集系统设计

    摘要 本设计是基于嵌入式技术作为主处理器的温度采集系统 利用S3C44B0x ARM微处理器作为主控CPU 辅以单独的数据采集模块采集数据 实现了智能化的温度数据采集 传输 处理与显示等功能 并讨论了如何提高系统的速度 可靠性和可扩展性 并
  • 关于app退出的问题,完美退出方式

    实际开发中会有很多关于app的退出问题 我个人比较常见的有两种 一 双击退出 比如说我们在首页的时候需要一个双击退出的方法 点击第一次手机的返回键时提示 再点一次退出应用 之类的话语 我们可以这样做 对重写onKeyDown方法 当他第一次
  • Zookeeper中Session Timeout的那些事

    前言 RDS系统致力于MySQL数据的高可用 高可靠 高性能以及在线扩展功能 实现这些特性的主要逻辑功能都运行在管理服务器上 一旦管理服务器宕机 数据库的在线扩展功能 备份功能 故障恢复功能等都无从谈起 然而 之前RDS系统管理服务器却是单
  • 服务器读取缓存文件,同一个服务器,chrome可以从缓存读取静态文件,firefox不行...

    服务器是nginx的 配置了下面这段代码 location css js apk root usr local resources expires 12h 用chrome访问可以看到js与css都是 from memory cache 与
  • webpack打包vue反编译_前端性能优化——webpack篇

    相信每个用过webpack的同学都对 打包 和 压缩 这样的事情烂熟于心 这些老生常谈的特性 我更推荐大家去阅读文档 本文将把注意力放在webpack的性能优化上 一 提高构建速度 1 给 loader 减轻负担 用 include 或 e
  • 智能电子界桩自然保护区远程监控解决方案

    一 方案背景 自然保护地是生态建设的核心载体 中华民族的宝贵财富 美丽中国的重要象征 在维护国家生态安全中居于重要地位 经过多年的努力 我国已建立数量众多 类型丰富 功能多样的各级各类自然保护地 在保护生物多样性 保存自然遗产 改善生态环境
  • ajax从服务器读数据,本地网页不刷新

    function ajax url fnSucc fnFild 1 创建对象 var oAjax null if window XMLHttpRequest oAjax new XMLHttpRequest else oAjax new A