发表于: 2017-04-14 22:49:01

1 1008


任务五

今天完成的事情

  1. 1学习原生ajax的使用方法。
  2. 2.学习json与xml这2种数据传输格式。
  3. 3.学习简单的php写法(变量定义,数据输出),用来查看ajax异步通信效果。
  4. 4习ajax的get与post传输数据的方式。
  5. 4.整理学习笔记。

  6. 明天计划的事情

  1. 1.学习jquery的ajax用法。
  2. 2.学习http协议。

遇到的问题

1 因为要编译php文件,所以需要配置环境,选择了傻瓜式的wamp一键安装,配置好以后运行php,结果无法编译php文件,百度后发现是访问路径有问题,要通过locahost:的相对路径访问才可以编译。

2 ajax的get方式传参数与post传参数有什么区别?

get请求会把参数放到url中,所以我们只需要参数放到url中就行,具体来说就算拼接字符串。

var url = './check.php?username='+username+"&password="+password;
xhr.open('get',url,true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
alert("helloworld");
}
}
};
}

post请求不能放到url中,要作为方法的参数传递。原理也是拼接字符串,不过拼接的字符串要作为参数放到send方法中,需要注意一点的是要设置编码格式。

var param = 'username='+username+'&password='+password;
xhr.open("post",url,true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312");

xhr.send(param);
  1. 收获

  2. 1.之前堆xml文件一直不太了解,但是又经常听到,百度后只知道是一种文档格式,并没有用过。今天通过学习ajax,算是弄懂了xml是干嘛的。

  3. 2.学习xmlhttprequest对象的各种属性和方法。

笔记整理:

Ajax

readyState

readyState只有5个值{0,1,2,3,4},只读不能写。
0:XMLHttpRequest对象创建完成。
1:XMLHttpRequest对象初始化完成。
2:请求已经发送。
3:服务器已经返回了数据(但是还没有被解析,可能就算一段http报文)。
4:数据解析已经完成。

status

status状态码,来自于http协议。详细的状态码以及意义可以参考http协议。推荐一本讲http协议的书籍,《图解http》,讲的比较简单,通熟易懂。
比较常见的:
200:成功
404:页面不存在
503:页面存在,但有语法错误

    Get

  • 将表单数据以名称/值对的形式附加到 URL 中
  • URL 的长度是有限的(大约 3000 字符)
  • 绝不要使用 GET 来发送敏感数据!(在 URL 中是可见的)
  • 对于用户希望加入书签的表单提交很有用
  • GET 更适用于非安全数据,比如在 Google 中查询字符串

请求数据,对于send()方法,参数为null就可以,但是如果是post,因为是发送数据,所以可以send方法可以传参数,不一定参数为空。
参数请求中如果有中文,可能会报错。

  • Post请求

  • 将表单数据附加到 HTTP 请求的 body 内(数据不显示在 URL 中)
  • 没有长度限制
  • 通过 POST 提交的表单不能加入书签

ResponseText和ResponseXml

返回的是一个字符串,也就是一个JSON对象,和localstroge有点像。不管文件内容是什么都直接返回字符串。
ResponseXml返回一个xml格式的文档,不符合格式的不返回。比如没有被标签包裹的就不返回。

Open的参数

第一个是传输数据的方式。

第二个是数据被传输到的地方。

第三个是通信方式,true是异步,false是同步。



返回列表 返回列表
评论

    分享到