zoukankan      html  css  js  c++  java
  • ajax _flask

    同步访问
        当客户端向服务器发送请求时,服务器在处理过程中,浏览器只能等等,效率偏低
    异步访问:
        当客户端向服务器发送请求时,服务器在处理过程中,客户端可以做其他的操作,不需要一直等待,效率偏高
    AJAX优点
        1 异步 访问
        2 局部 刷新
        使用场合:
            1 搜索建议
            2 表单验证
            3 表单提交
            
    2 AJAX的核心对象 - 异步对象(XMLHttpRequest)
        1 什么是XMLHttpRequest
            简称为xhr
            称为异步对象,代替浏览器向服务器发送请求并接收响应
            xhr 是由JS来提供
        2 创建异步对象(xhr)
            主流的异步对象是 XMLHttpRequest 类型的,并且主流浏览器都支持(IE7+,chrome,Firefox,Safari,Opera) 全部支持,
            但在Ie低版本浏览器中(ie6以及以下),就不支持 XMLHttpRequest,需要使用 ActiveXObject()来创建异步对象
            
            支持 XMLHttpRequest :new XMLHttpRequest()
            不支持 XMLHttpRequest: new ActiveXObject('Microsoft.XMLHTTP')
            
        3 xhr 的成员
        4 AJAX的操作步骤
            1 GET请求
                1 创建xhr 对象
                2 创建请求 - open()
                3 设置回调函数 - onreadystatechange
                    判断状态并且接收数据
                4 发送请求-send()
                
                    1 方法 - open()
                        作用:创建请求
                        语法:open(method,url,async)
                            method : 请求方法,取值为 'get''post'
                            url :请求地址,字符串
                            async:是否采用异步的方式发送请求
                                true: 使用异步方式发送请求
                                false:使用同步方式发送请求
                        ex:
                            xhr.open('get','/server',true)
                    2 属性 - readyState
                        作用:请求状态,通过不同的请求状态值来表示xhr与服务器的交互情况
                        由 0-4 共5个值来表示5个不同的状态
                        0 : 请求尚未初始化
                        1 :xhr已经与服务器建立连接
                        2 :服务器端已经开始接收请求
                        3 : 请求正在处理中
                        4 : 响应已完成
                    3 属性 - status
                        作用:表示服务器端的响应状态码
                            200: 表示服务器正解处理所有的请求以及给出的响应
                            404: 请求资源不存在 
                            500:服务器内部错误
                    4 属性 - responseText
                        作用:服务器端的响应数据
                    5 事件 - onreadystatechange
                        作用:每当xhr的readyState属性值发生改变的时候要触发的操作 - 回调函数
                            在该函数中,只有当readyState的值为4并且status的值为200的时候,就可以正常的接收responseText了
                    6 方法 - send()
                        作用:通知xhr 向服务器发送请求
                        语法:send(body)
                            body:表示请求的主体
                                get请求:是没有请求主体的,所以body的值为null
                                    xhr.send(null)
                                post请求:是没有请求主体的,所以body的位置处要表示请求数据
                                    xhr.send('请求数据')
                                    xhr.send('参数=值&参数=值')
            2 POST 请求
                1 请求提交的数据要作为 send()的参数进行提交 xhr.send('参数 = 值&参数=值')
                2 修改请求消息头
                    在AJAX中,提交POST请求时,AJAX默认将 Content-Type请求消息头的值修改为"text/plain"了,
                    所以导致数据无法正常提交
                    解决方案:将 Content-Type的请求消息头再修改回"application/x-www-form-urlencoded"即可
                        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
                Content-Type: application/x-www-form-urlencoded
                
            
  • 相关阅读:
    【React】哪些数据应该放到state中?
    React组件生命周期及组件之间的通信
    【Flex布局教程】语法篇
    jQuery动态创建二级下拉菜单
    Web前端工程师成长之路——知识汇总
    Jpcap使用指南
    安装/重装tomcat(组图)
    贪吃蛇小游戏(含详细思路及源代码)
    servlet中如何操作数据库
    svn的使用方法
  • 原文地址:https://www.cnblogs.com/Skyda/p/9917445.html
Copyright © 2011-2022 走看看