Ajax对象杂谈
对于Ajax技术现在很多人都不陌生了,习惯了用ExtJS或Jquery等JS库封装的Ajax。记得哪天朋友问题怎样手动创建一个XMLHttpRequest 对象?愣了半分钟,还是写一写吧。
var xmlhttp; function createRequest() { if (window.ActiveXObject) { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } } createRequest(); function sendRequest() { if(xmlhttp) { xmlhttp.open("GET", url, true); xmlhttp.send(null); xmlhttp.onreadystatechange = getRequestAndManager; } } function getRequestAndManager() { if (xmlhttp_request.readyState == 4) {// 收到完整的服务器响应 if (xmlRequest.status == 200) { var requestReturnStr = xmlhttp.responseText; var json = eval("("+requestReturnStr+")"); } } }
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。如果不需要使用缓存数据可以在URL后面添加一个时间戳,以保证每次请求的数据都和服务器保持一致。
然而,在以下情况中,请使用 POST 请求:
- 无法使用缓存文件(更新服务器上的文件或数据库)
- 向服务器发送大量数据(POST 没有数据量限制)
- 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
相关推荐
kentrl 2020-11-10
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo
ajaxyan 2020-11-09
zndy0 2020-11-03
学留痕 2020-09-20
Richardxx 2020-11-09
learningever 2020-09-19
chongxiaocheng 2020-08-16
ajaxhe 2020-08-16
lyqdanang 2020-08-16
curiousL 2020-08-03
TONIYH 2020-07-22
时光如瑾雨微凉 2020-07-19
83510998 2020-07-18
坚持着执着 2020-07-16
jiaguoquan00 2020-07-07
李永毅 2020-07-05
坚持着执着 2020-07-05