Head First Ajax 的一个疑问?

djlxue 2012-02-09 04:57:17

window.onload = initPage;

function initPage() {
// find the thumbnails on the page
thumbs = document.getElementById("thumbnailPane").getElementsByTagName("img");

// set the handler for each image
for (var i = 0; i < thumbs.length; i++) {
image = thumbs[i];

// create the onclick function
image.onclick = function() {
// find the image name
detailURL = 'images/' + this.title + '-detail.jpg';
document.getElementById("itemDetail").src = detailURL;
getDetails(this.title);
}
}
}

function createRequest() {
try {
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}

function getDetails(itemName) {
request = createRequest();
if (request == null) {
alert("Unable to create request");
return;
}
var url= "getDetails.php?ImageID=" + escape(itemName);
request.open("GET", url, true);
request.onreadystatechange = displayDetails;
request.send(null);
}

function displayDetails() {
if (request.readyState == 4) {
if (request.status == 200) {
detailDiv = document.getElementById("description");
detailDiv.innerHTML = request.responseText;
}
}
}

displayDetails函数中的request对象没有定义,请问这个对象是什么对象,是浏览器内置的吗
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
libo_sina 2012-02-10
  • 打赏
  • 举报
回复
全局的,ajax要运行就是靠这个对象
djlxue 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dream1206 的回复:]

request在createRequest里定义了:request = new XMLHttpRequest();。而浏览器都内置了XMLHttpRequest对象(叫对象不合适吧?反正JS也没有类的概念)
[/Quote]
这里定义的变量 是全局的啊?
改一下昵称 2012-02-09
  • 打赏
  • 举报
回复
request在createRequest里定义了:request = new XMLHttpRequest();。而浏览器都内置了XMLHttpRequest对象(叫对象不合适吧?反正JS也没有类的概念)

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧