zoukankan      html  css  js  c++  java
  • JavaScript之ajax

    ajax可以异步加载,在不刷新整个网页的情况下和服务端交互信息并更新页面的一个部分。主要有两种请求方式:get和post。

    由于ie6以上才支持XMLHttpRequest所以在声明对象的时候最好如下这种方式声明:
    if(window.XMLHttpRequest){ var xhr = new XMLHttpRequest(); }else{ var xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
    创建对象之后连接服务器:
    xhr.open('GET','服务端代码的地址?keyword=c&user_name=mike&age=20',true);

    然后发送请求:
    xhr.send();

    然后接受返回值:
    xhr.onreadystatechange=function(){
        if(xhr.readyState==4){
            if(xhr.status==200){
                alert(xhr.responseText);
            }else{
                alert("failed")
            }
        }
    };

    如果用set方法那么就是上面的写法,将传递的参数放在url里面,多个参数之间用 & 连接。
    如果是post方法:
    xhr.open("POST","ajax.php",true);
                xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                xhr.send("key1=x&key2=q&key3=w");
                xhr.onreadystatechange=function(){
                    if(xhr.readyState==4&&xhr.status==200){
                        alert(xhr.responseText);
                    }
                }

    上面服务端的代码在ajax.php里面,用post方法需要添加setRequestHeader方法,里面的写法就是上面所示。要传递的参数放在send方法里面。

    get方法:速度快,传递的数据大小只有4kb,适用于小数据量的传递,传递的参数会暴露在url里面。

    post方法:容量几乎无限,大多数情况下用于上传数据。

  • 相关阅读:
    beego学习笔记(4):开发文档阅读(1)
    go的匿名组合
    beego学习笔记(3)
    beego学习笔记(2)
    python发送post请求发送json数据时,报415的原因和处理方法。
    Kali Linux的安装
    linux下配置mysql的远程访问
    selenium学习笔记
    Fiddler使用方法简介
    使用webdriver打开本地浏览器--python版
  • 原文地址:https://www.cnblogs.com/huizit1/p/5470685.html
Copyright © 2011-2022 走看看