关闭

ajax基础(1)

标签: ajaxxmlhttprequest
143人阅读 评论(0) 收藏 举报
分类:

ajax 4步曲

//1、打开浏览器
            var xhr = null;
            if (window.XMLHttpRequest) {  //兼容处理
                xhr = new XMLHttpRequest()
            }else {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
            //2、输入地址
            xhr.open('GET' , '1.txt' ,true);

            //3、提交
            xhr.send();

            //4、返回结果
            xhr.onreadystatechange = function() {
                if (xhr.readyState == 4) {
                    if (xhr.status == 200) {  //xhr.status 服务器的状态
                        alert(xhr.responseText)
                    }else {
                        alert('啊噢,出错了:  '+ xhr.status)
                    }

                };
            }

get与post存在的一些问题

1、get方式的缓存问题 :
    在url?后面连接一个随机数,时间戳
    xhr.open('get','shoname.php?username=BOB&age=100&'+new Date().getTime(),true)

2、get方式乱码,编码encodeURI
    xhr.open('get',"shoname.php?username='+encodeURI('老王')+'&age=100&"+new Date().getTime(),true)

3、post方式:数据放在send()方法里作为参数传递
    (1)请求头:指定发送的文档类型(编码)
    xhr.setRequestHeader('content-type','application/x-www-form-urlencode');
    (2)传参,如果传递username=老王,不需要编码encodeURI了,因为请求头已经声明了
    xhr.send('username=BOB&age=100')

4、post没有缓存问题。

5、stringify : 把一个对象转成对应的字符串
6、parse : 把字符串转成对应的对象,字符串格式的json的key值,必须用双引号引起来。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23227次
    • 积分:828
    • 等级:
    • 排名:千里之外
    • 原创:61篇
    • 转载:8篇
    • 译文:0篇
    • 评论:1条