AJAX,按书上敲的代码,为什么不能实现?

蓝with黑 2015-08-29 02:13:32
哪位大神帮看看。只实现了图片替换成loading...,没有将内容加载过来。
//ajax
function getHTTPObject() {
if (typeof XMLHttpRequest == "undefined")
XMLHttpRequest = function () {
try {
return new ActiveXObject("Msxml2.XMLHTTP.6.0");
}
catch (e) {}
try {
return new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
catch (e) {}
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {}
return false;
}
return new XMLHttpRequest();
}
function displayAjaxLoading(element) {
while (element.hasChildNodes()) {
element.removeChild(element.lastChild);
}
var content = document.createElement("img");
content.setAttribute("src","image/ajax-loader.gif");
content.setAttribute("alt", "loading...");
element.appendChild(content);
}
function submitFormWithAjax(whichform, thetarget) {
var request = getHTTPObject();//调用函数,检测浏览器,并创建XMLHttpRequest;
if (!request) return false;
displayAjaxLoading(thetarget);//删除目标元素子元素,添加load图片
var dataParts = [];
var element;
for (var i = 0; i < whichform.elements.length; i++) {
element = whichform.elements[i];
dataParts[i] = element.name + '=' + encodeURIComponent(element.value);
//把表单的值组织成URL编码的字符串,以便通过Ajax请求发送
//收集它们的名字和编码后的值。
}
var data = dataParts.join('&');
request.open('POST', whichform.getAttribute('action'), true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//这个头部对于POST请求是必须的,它表示请求中包含URL编码的表单
request.onreadystatechange = function () {
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
var matches = request.responseText.match(/<article> ([\s\S]+)<\/article>/);
if (matches.length > 0) {
thetarget.innerHTML = matches[1];
} else {
thetarget.innerHTML = '<p>Oops,there was an error.sorry</p>'
}
} else {
thetarget.innerHTML = '<p>' + request.statusText + '</p>';
}
}
};
request.send(data);
return true;
}
...全文
152 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
香蕉猪 2015-09-01
  • 打赏
  • 举报
回复
是不是需要导入外部文件,,要仔细查看书上前后文。。。
hch126163 2015-08-31
  • 打赏
  • 举报
回复
单步调试 whichform.getAttribute('action') 先测试这个网址是否正确。 另外:就是不能跨越
KK3K2005 2015-08-31
  • 打赏
  • 举报
回复
书上这段代码之前还说了什么? 请仔细阅读
化繁为简2007 2015-08-31
  • 打赏
  • 举报
回复
先确定是前台还是后台有问题。
qq_24603759 2015-08-30
  • 打赏
  • 举报
回复
本地不能跑,必须要在服务器跑,你电脑上必须安装服务器,
zzhao1979 2015-08-30
  • 打赏
  • 举报
回复
可能是控件没有安装
qq_30944183 2015-08-30
  • 打赏
  • 举报
回复
安装wamp
顾小林 2015-08-29
  • 打赏
  • 举报
回复
学会F12 debug前段,然后后台看走了没

87,883

社区成员

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

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