Ajax基础

Ajax 基础 AJAX基础1. 概述2. 快速上手2.1. readyState2.1.1. 时间轴2.2. 遵循 HTTP 1. 概述 Web 程序最初的目的就是将信息(数据)放到公共的服务器,让所有网络用户都可以通过浏览器访问。 在此之前,我们可以通过以下几种方式让浏览器发出对服务端的请求,获得服务端的数据: 地址栏输入地址,回车,刷新特定元素的 href 或 src 属性表单提交 这些方案都是我们无法通过或者很难通过代码的方式进行编程(对服务端发出请求并且接受服务端返回的响应),如果我们可以通过 JavaScrip 阅读详情

Ajax基础

1、什么是服务器

  • 网页浏览过程分析
  • 如何配置自己的服务器程序(wamp)(已配置,lamp   WampServer软件 )

2、什么是Ajax (AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。)

  • 无刷新数据读取
  • 用途:用户登陆、股票基金网
    • 异步、同步

3、使用Ajax

  • 基础:请求并显示静态TXT文件
    • 字符集编码   (UTF-8    和     gb2312)
    • 缓存、阻止缓存(阻止缓存的意思是随时让缓存改变)    (url等于'aaa.txt?t='+new Date().getTime() 就是让url随时改变,缓存中的文件随时变就能达到了==阻止缓存 )
  • 动态数据:请求JS(或json)文件
    • eval的使用(用这个得到的是数组,不用这个得到的字符串)  (用于数组和json )
    • DOM创建元素   (document.crateElement)
  • 局部刷新:请求并显示部分网页文件

4、HTTP请求方法

  • GET——用于获取数据(如:浏览帖子)
  • POST——用于上传数据(如:用户注册)
  • GET、POST的区别
    • get是在url里传数据:安全性、容量
    • 缓存
    • post较安全,容量较大
------------------------------------------------------------------------------------------------------------------

1、什么是服务器:能提供一定服务的特殊电脑。ftp、svn、web

  • 网页浏览过程分析:在浏览器发出请求   》》 到服务器读取 》》   返回数据  》》  下载到本地浏览器看到(所以第二次浏览的时间比第二次快)
  • 如何配置自己的服务器程序(wamp)
安装一个wamp集成环境, 因为Ajax是读取服务器上面的信息的(所以必须安装服务器),所以我们接下来的页面需要保存到www目录下:比如我创建一个文件aa.html放到该目录下。我可以通过浏览器输入下面的信息找到这个文件:
  • http://loclhost/aa.html
  • 127.0.0.1/aa.html

2、什么是Ajax:AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

  • 无刷新数据读取
  • 用户登陆、股票基金网
    • 异步、同步

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

用途如下:

百度搜索提示:只要打关键字,就有相关提示。


登陆: (输入错误会有提示)
 股票信息:(曲线随时动)
 

传统的开发模式和ajax开发模式比较:画图讲解


传统的开发模式:用户的每一次操作都触发一次返回服务器的HTTP请求,服务器做出处理后,返回一个html页面给用户。(会把整个页面返回来)

ajax开发模式:页面将用户的操作通过ajax引擎与服务器进行通信,将返回的结果给ajax引擎,然后ajax将数据插入指定位置。

3、ajax基础:先会用,再自己编写

XMLHttpRequest 对象

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。


创建 XMLHttpRequest 对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。

创建 XMLHttpRequest 对象的语法:

    
variable=new XMLHttpRequest();

老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:

      
variable=new ActiveXObject("Microsoft.XMLHTTP");
兼容性写法:
为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :
   
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

4、使用ajax:先会用,再自己编写

  • 基础:请求并显示静态TXT文件
    • 字符集编码
    • 缓存、阻止缓存
  • 动态数据:请求JS(或json)文件
    • eval的使用
    • DOM创建元素
  • 局部刷新:请求并显示部分网页文件

为了更好的理解ajax。我们先学会怎么使用,再编写自己的ajax。准备下面的文件放到服务器里面:

  • ajax.js文件(函数已经写好)
  • 一个文件a.txt  (随便写些东西)
  • 状态码:
  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪
  • 200 :表示找到页面
  • 404 : 表示没有找到该页面

封装好的ajax js文件代码如下: ajax.js
     
function ajax(url, fnSucc, fnFaild)
{
//1.创建Ajax对象
if(window.XMLHttpRequest)
{
var oAjax=new XMLHttpRequest();
}
else
{
var 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)
{
//alert('成功了:'+oAjax.responseText);
fnSucc(oAjax.responseText);
}
else
{
//alert('失败了');
if(fnFaild)
{
fnFaild();
}
}
}
};
}
ajax(url, fnSucc, fnFaild)函数参数介绍:
  • url:读取文件的路径,可以写相对路径或绝对路径(服务器上面的文件名都不能用中文命名)
  • fnSucc:成功返回信息
  • fnFaild:失败返回信息

可以随便写东西:a.txt
     
这是文件内容
我们再写一个文件读取 a.txt 的内容:去看看ajax.js里面的函数参数,大概理解一下
     
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="ajax.js"></script>
<script>
window.onload=function ()
{
var oBtn=document.getElementById('btn1');
oBtn.onclick=function ()
{
ajax('aaa.txt', function (str){
alert(str); //成功时的信息
}, function (){
alert('失败'); //失败的信息
});
};
};
</script>
</head>
 
<body>
<input id="btn1" type="button" value="读取" />
</body>
</html>
如果 a.txt里面有中文,会出问题吗?记得要保证文件编码统一:utf-8
阻止缓存方法:缓存是根据URL来存储的。只要url在变,就可以了。在路径那里加上get数据。 getTime()是毫秒数
     
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="ajax.js"></script>
<script>
window.onload=function ()
{
var oBtn=document.getElementById('btn1');
oBtn.onclick=function ()
{
ajax('aaa.txt?t='+new Date().getTime(), function (str){
alert(str);
}, function (){
alert('失败');
});
};
};
</script>
</head>
 
<body>
<input id="btn1" type="button" value="读取" />
</body>
</html>
上面是获取txt里面内容的,如果想获取数组和json的内容。方法如下:ajax读取的到的都是字符串,要用函数even()
     
[1,2,3,4,5,6,7]
读取数组:
      
<script src = "ajax.js" ></script>
<script>
window.onload=function ()
{
var oBtn=document.getElementById('btn1');
oBtn.onclick=function ()
{
ajax('arr.txt?t='+new Date().getTime(), function (str){
var arr=eval(str);
alert(arr[3]);
}, function (){
alert('失败');
});
};
};
</script>
读取json:
      
[{a: 5, b: 7}, {a: 8, b: 12}]
      
<script src="ajax.js"></script>
<script>
window.onload=function ()
{
var oBtn=document.getElementById('btn1');
oBtn.onclick=function ()
{
ajax('arr2.txt?t='+new Date().getTime(), function (str){
var arr=eval(str);
alert(arr[0].a);
}, function (){
alert('失败');
});
};
};
</script>
读取的json放大ul里面:(动态创建)
    
[{user: 'blue', pass: '123456'},{user: '张三', pass: '654321'},{user: '李四', pass: '789456'},{user: '王五', pass: '7777'}]
     
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="ajax.js"></script>
<script>
window.onload=function ()
{
var oBtn=document.getElementById('btn1');
var oUl=document.getElementById('ul1');
oBtn.onclick=function ()
{
ajax('data.txt?t='+new Date().getTime(), function (str){
var arr=eval(str);
for(var i=0;i<arr.length;i++)
{
var oLi=document.createElement('li');
oLi.innerHTML='用户名:<strong>'+arr[i].user+'</strong>密码:<span>'+arr[i].pass+'</span>';
oUl.appendChild(oLi);
}
}, function (){
alert('失败');
});
};
};
</script>
</head>
 
<body>
<input id="btn1" type="button" value="读取" />
<ul id="ul1">
</ul>
</body>
</html>

5、HTTP请求方法

  • GET——用于获取数据(如:浏览帖子):不安全,放到url里面传递信息(会把输入的信息显示在url中),通过网址传递,容易出错,因为有大小限制:4-10k,有缓存
  • POST——用于上传数据(如:用户注册):稍微安全一些,不通过网址url,可以传大文件,2G,没有缓存
  • GET、POST的区别
    • get是在url里传数据:安全性、容量
    • 缓存
       
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
 
<body>
<form action="http://www.baidu.com/" method="post">
用户名:<input type="text" name="username" /><br>
密码:<input type="password" name="password" /><br>
<input type="submit" />
</form>
</body>
</html>





zemax---光学设计基础概念篇(持续更新中) 光学设计相关知识概念 阅读详情

相关推荐

/proc/sys/vm/max_map_count耗尽时,调用glibc 2.11.3 free()导致程序crash,问题追踪和解决

1. 问题 在客户环境下,当我们的程序消耗较大内存时,会偶尔crash。 通过gdb分析,程序core dump在malloc/free函数内。 当把/proc/sys/vm/max_map_count 从65530增加到131070,程序再也不crash。 相关命令 echo 131073 > /proc/sys/vm/max_map_count 2.  core

万大胖博客,苦并快乐着 4429

AJAx入门教程

三.Ajax1.原生AJax&lt;body&gt;   &lt;input type="text" id="name" onblur="test()"/&gt;  &lt;/body&gt;&lt;script type="text/javascript"&gt;    var xhr;   //1.创建一个XMLHttpRequest对象     if(win

qq_38266792的博客 680

基于Llama 3搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

前面两篇博文,我们在笔记本部署了Llama 3 8B大模型,使用Ollama搭建了基于Web 可视化对话机器人。在使用过程中,大模型经常出现中文问题英文回答的问题。本博文就用Llama3-Chinese-Chat微调模型来解决这个问题……

老牛啊 9238

初学AJAX必看——基础篇

首先,AJAX是什么?它的全称是Asynchronous JavaScript and XML   (翻译过来是异步的JavaScript 和 XML )它是一门通信技术,不是语言,这一技术无需刷新页面就可以从服务器取得数据,意思就是不用重新加载整个网页,也能够更新部分网页,用户体验非常好...

哎哟喂露露 3403

GitHub工业级开源利器:StreamPipes如何简化工业物联网数据分析

Apache StreamPipes是一款GitHub上的工业级开源利器,旨在简化工业物联网数据分析。它通过图形化界面连接各类工业协议数据源,以拖拽方式构建流处理管道,并实现实时可视化,有效降低了数据分析的技术门槛,让业务人员也能自助完成从数据接入到洞察的全流程。

weixin_29279153的博客 179

1.用Python写了一个进销存管理的软件~需求分析&界面设计&数据库设计&技术路线选择~

前端也打算用Python来写,查了很多的python库,大家比较推荐的是wxpython和QPython,之前接触过一点点的QT,确实非常强大,但是库比较重量级,自己写的这个东西明显配不上QT,又详细调研了一下wxpython,就是它了!

pepper_lihui的专栏 4321

AJAX基础入门

Ajax AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个

心有猛虎,细嗅蔷薇 1499

使用ST-LINK烧录stm32教程说明

使用ST-LINK烧录stm32

qq_34426854的博客 1万+

AJAX基础

AJAX 异步javascript和xml。创建交互式网页的网页技术,是独立于web服务器端的浏览器技术。通过客户端和服务器做数据的交换,ajax可实现异步的刷新(局部刷新)。也就是可以在不刷新整个页面的情况下,可以动态更新局部的内容。传统网页如果要更新内容,就算只是一小部分内容,也必须刷新整个网页。 异步与同步 同步:用户请求--->服务器处理--->响应 在此期间不能做其他的事,

OoChellyoO的博客 372

zabbix监控深信服下一代防火墙配置

深信服下一代防火墙v8.0管理界面,zabbix,SNMP

weixin_43996471的博客 6871

UG\NX二次开发 替换部件引用集UF_ASSEM_replace_refset

替换部件引用集UF_ASSEM_replace_refset,需要替换成“完整部件(Entire Part)”需要第三个参数传入空指针或者空字符串。

王牌飞行员_里海的博客 253

AJAX基础笔记

AJAX 基础笔记

qq_43645678的博客 1223

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ajax基础

ajax

weixin_44335776的博客 327

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Django基础之ajax

本篇主要用来记录django+ajax的一些用法以及注意点,Django使用ajax最大的一个用处,就是不用刷新整个页面的前提下,请求服务端内容来更改页面中某些元素的值。如果使用http请求,就必须重新加载一遍页面,而ajax可以只更改一部分内容。 django+ajax基础使用 模版页面 index.html <form> <input type="text" id="tn...

abc_soul的博客 5792

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Ajax编程基础

Ajax编程基础1、Ajax基础1.1、Ajax概述1.2、Ajax的应用场景1.3、 Ajax的运行环境2、Ajax运行原理及实现2.1Ajax运行原理:2.2、 Ajax的实现步骤2.3、服务器端响应的数据格式2.4、请求参数传递2.5、请求报文2.6、请求参数的格式2.7、Ajax状态码2.8、onreadystatechange事件2.9、获取服务器端的响应2.10、Ajax错误处理2.11、低版本IE浏览器的缓存问题。3、Ajax异步编程3.1、同步3.2、异步4、Ajax封装 1、Ajax基础

weixin_44767973的博客 808

AJAX基础_ajax请求的五个步骤

AJAX即"Asynchronous Javascript And XML"(异步 javaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax是一种浏览器通过js异步发起请求。局部更新页面的技术Ajax请求的局部更新,浏览器地址栏不会发生变化局部更新不会 舍弃原来页面的内容。

2401_89690114的博客 962

Ajax基础篇

Ajax基础 文章目录Ajax基础1.1ajax简介1.2XML简介1.3AJAX的特点1.3.1AJAX的优点1.3.2AJAX的缺点1.4HTTP协议1.4.1 Express1.5AJAX的应用1.5.1原生AjaxGET请求设置参数POST请求参数设置1.6设置请求头信息2.1服务端响应JSON数据2.2解决ie缓存问题2.3超时与网络错误的处理2.4取消AJAX请求2.5Ajax重复发送请求情况3.1JQuery发送AJAX请求4.1 axios4.12发起一个get请求4.13 发起一个 `PO

weixin_51445423的博客 603

AJAX学习(一)AJAX基础

AJAX学习(一)AJAX基础举一个栗子AJAX请求的五个步骤AJAX详解Jquery中的ajaxajax常用的格式 ajax在网络应用开发上运用很广泛,它能够达到局部刷新的效果,也就是页面的某一个组件或功能上进行客户端和服务端的数据交互来实现数据的刷新,而不需要整个页面重载,这样可以提升用户的使用感,缩短等待的时间。 ajax的可以用的地方很多,因此是一个很重要的知识点。所以在此写下有关于我对ajax的学习的感悟和应用的一些实例和大家分享,也希望自己对它能够更加了解 举一个栗子 用javaWeb实现aja

Vuex实现城市选择功能 9万+

Ajax Ajax基础

文章目录Ajax基础1 Ajax概述2 Ajax应用场景3 Ajax运行环境4 Ajax运行原理及实现4.1 运行原理4.2 实现步骤4.3 服务器响应的数据格式4.4 请求参数传递4.4.1 GET请求参数4.4.2 POST请求参数4.4.3 请求参数格式4.5 获取服务器端的响应4.5.1 Ajax响应状态码4.5.2 xhr.readyState属性4.5.3 onload事件4.5.4 onreadystatechange事件4.5.5 两种获取服务器端响应方式区别4.6 Ajax错误处理4.6.

SillyBoy的博客 357

关于ajax的基础知识点总结

ajax是web前端常用的技术之一,我为大家总结了ajax基础知识,如下,希望大家共进步。 创建XMLHttpRequest对象 var xmlhttp;if (window.XMLHttpRequest)   {// code for IE7+, Firefox, Chrome, Opera, Safari   xmlhttp=new XMLHttpRequest();

qq_32506555的博客 425

Ajax的基础知识点

Ajax是一种实现网页局部更新的异步通信技术,通过XMLHttpRequest对象与服务器交互数据,无需刷新整个页面。其核心包括四种HTTP请求方式:GET(查询)、POST(新增)、PUT(全量更新)、DELETE(删除)。现代开发中常使用Axios库简化Ajax操作,它提供拦截器、请求取消、并发处理等功能,支持Promise API和自动JSON转换。开发者可通过二次封装实现统一配置(如baseURL、token)、错误处理和防重复提交等优化。相比原生Fetch,Axios具有更完善的错误处理机制和浏览

2401_82562256的博客 1255
上一篇: 拖拽中怎么修复bug
下一篇: ajax函数的编写
小小樟鱼
博客等级 码龄10年 38粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值