欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ajax笔记

程序员文章站 2022-06-28 13:09:59
Ajax:Aysnchronous Javascript and xml(异步JS和XML技术) 1. Ajax是什么(数据交互) 2. 浏览器(客户端)和服务器 3. 浏览器和服务器的交互 4. 注释 5.onreadystatechange 和 onload 6.GET和POST ......

Ajax:Aysnchronous Javascript and xml(异步JS和XML技术)

1. Ajax是什么(数据交互)

是指一种创建交互式网页应用的网页开发技术
京东 的用户名验证
严选网站的新品首发,商品原先是8个,点击之后数量增加
简书 
    当浏览器滚动的时候,在底部追加新的文章
    点击”阅读更多“的时候,在底部追加新文章
    共同的特点:页面没有刷新,但是得到了网站服务器上最新的数据(新用户明是否注册,严选商品数量增加,简书文章数据增加)
    上述功能的实现,就得通过AJax来去做
    
刷新浪微博,访问新浪页面
购买商品:访问jd.com
百度:baidu.com
    共同的特点:在url地址栏输入地址,或者点击对应的链接,跳转刷新到对应的页面

2. 浏览器(客户端)和服务器

浏览器:谷歌浏览器,火狐,IE
    访问页面

服务器:就是一台(多台)电脑,这台电脑基本上没有显示器
    提供网页内容:在服务器上某个文件夹下,存储我们写好的页面,24小时联网
    
    
服务器:
    阿里云服务器:600-700元一年
    淘宝虚拟空间:30-100元不等
    新浪SAE:一天1毛
    wamp软件:将自己的电脑模拟成一台服务器
        wamp:
            w:windows操作系统
            a:apache(服务器的一个软件)
            m:mysql
            p:php
        安装完成:访问localhost/127.0.0.1,成功访问到页面,就是正确
            (C:\Windows\System32\drivers\etc)
    
    开发期间本地测试,wamp就是我们最好的选择

3. 浏览器和服务器的交互

字符串
    'hello world'
XML:保存数据(HTML格式化页面内容输出)
    XML也用户保存和传递数据,但是格式比较麻烦
JSON数据
    {“username”:"zhangsan","age":20}
    
    JSON属性都是双引号
    JSON只代表数据,没有方法(函数)

4. 注释

1. wamp都装在 d:wamp下
2. wamp所有的文件全部删除

5.onreadystatechange 和 onload

//get
var xhr = new XMLHttpRequest();  //  创建XML HTTP协议请求
xhr.open('GET','URL地址?参数',true|false) // 配置 true:异步传输 false:同步传输,基本上都是true异步传输
xhr.send();发送
xhr.onreadystatechange = functioin(){
  if(xhr.readyState == 4 && xhr.status == 200) {
        console.log(xhr.responseText);//接受返回结果
    }
}
onreadystatachange:存储函数,每当readyStata属性改变时,就会调用该函数。
readyStata:有XMLHttpRequest的状态(0到4)
0:请求未初始化
1:服务器连接已建立
2:请求已接收
3:请求处理中
4:请求已完成,响应已就绪
status:200表示"ok",404表示”未找到页面“
2、当readyStata等于4且状态为200时,表示响应已就绪

xhr.onload = function(){}  // 执行完就加载



//POST
var xhr = new XMLHttpRequest();
xhr.open('POST','url地址',true|false);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send();
xhr.onload = function(){}

6.GET和POST

get和post
            get:获取
                1.所有的a链接都是get请求,如果有参数,参数会显示在URL地址的后面
                    baidu.com?username=zhangsan&age=20&sex=nan(不安全)
                2. get请求不能传文件

            post:发送
                1.设置表单的method为post的时候,表单的值需要传递给服务器,但是不会显示在URL地址栏(相对安全)
                2. 传送文件


            get和post的原生Ajax请求过程没有本质的不同
                get请求,参数直接写在URL地址栏的后面
                post请求
                    1. 参数必须在send里面
                    2. 必须设置setRequestHeader()头信息