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
learningever 2020-09-19
chongxiaocheng 2020-08-16
ajaxhe 2020-08-16
lyqdanang 2020-08-16
curiousL 2020-08-03
时光如瑾雨微凉 2020-07-19
坚持着执着 2020-07-16
jiaguoquan00 2020-07-07
李永毅 2020-07-05
坚持着执着 2020-07-05