【发布时间】:2011-10-05 09:04:30
【问题描述】:
我遇到了 JS 的问题:
在第 1 到 4 行,我从 DOM 中获取所有“a”元素并获取它们的 href。 稍后我想通过 AJAX 重新加载 URL,但是 href 没有正确到达……怎么了?
$(document).ready(function(){
$('a').click(function(e){
ajaxReload($(this).attr('href'));
e.preventDefault();
});
});
function ajaxReload(href) {
var xmlhttp = null;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", href, true);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState != 4) {
document.write('loading');
}
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert('hello');
//alert('getting '+xmlhttp.status+' for '+href);
var pureHTML = xmlhttp.responseText;
var ajaxstart = pureHTML.indexOf('<!-- AJAX START -->');
var ajaxend = pureHTML.indexOf('<!-- AJAX END -->');
var ajaxContent = pureHTML.substring(ajaxstart, ajaxend);
var writeContent = document.getElementById('content');
writeContent.innerHTML = ajaxContent;
}
}
xmlhttp.send(null);
}
【问题讨论】:
-
href 没有正确到达是什么意思?
-
在底部,函数从 var 'href' 中引用的文件中获取 HTML 代码,但如果我在警报中输出它,'href' 将返回 null ..
-
你有 jQuery 可用。是否有任何 原因您不使用 jQuery 提供的 AJAX 函数?!如果需要明文回复,可以使用
dataType: 'text'。 -
是的,我刚开始学习 js,我想知道这个花哨的 jquery-stuff 背后是什么.. :-)
标签: javascript html ajax frontend