我很困惑,我在执行此脚本之前包含了jQuery 1.7库:
var rq;
function request(localTarget, parameter)
{
$("#" + localTarget).text("Laden...");
rq = new XMLHttpRequest();
rq.open("GET", parameter, false);
rq.onreadystatechange = auswerten(localTarget, parameter);
}
function auswerten(target, site)
{
if (rq.readyState == 4 && rq.status == 200) {
$("#" + target).text(rq.responseText);
} else {
$("#" + target).text("Wert konnte nicht geladen werden");
}
}
但文字不会显示,我尝试了一切,但它不起作用!
我要插入文本的Html代码如下:
<table width='100%' cellpadding='4' cellspacing='0'>
<tr>
<td class='tablesubheader' width='50%'>Typ</td>
<td class='tablesubheader' width='50%'>Wert</td>
</tr>
<tr>
<td>Geld heute</td>
<td><div id="money_today">Test</div></td>
</tr>
<tr>
<td>Geld Monat</td>
<td id="money_month"></td>
</tr>
<tr>
<td>Klicks heute</td>
<td id="klicks_today"></td>
</tr>
<tr>
<td>Klicks Monat</td>
<td id="klicks_month"></td>
</tr>
</table>
</td>
上面的方法如下所示:
<script type="text/javascript">
$(window).load(function() {
request('money_today','<?php echo $link1; ?>');
request('money_month','<?php echo $link2; ?>');
request('klicks_today','<?php echo $link3; ?>');
request('klicks_month','<?php echo $link4; ?>');
});
</script>
答案 0 :(得分:1)
将您的代码移到$(document).ready
内,并使用.html代替.text。
修改后的代码:jquery load
function request(localTarget, parameter)
{
$("#" + localTarget).("Wert konnte nicht geladen werden");
$("#" + localTarget).load(parameter);
}
注意:你应该提供函数引用rq.onreadystatechange
加载不返回函数值。 auswerten(localTarget, parameter);
会将未定义的内容分配给onreadystatechange
。
答案 1 :(得分:0)
问题可能是您的代码在您尝试处理的元素存在于页面之前运行:即在加载页面之前。尝试将该代码放在以下内容中:
$(document).ready(function() {
// Your code here
});
答案 2 :(得分:0)
rq.onreadystatechange = auswerten(localTarget, parameter);
你正在这里调用这个功能。你没有那样 - 浏览器应该在响应到达时调用函数:
// pass a function (that you don't call), which in turn calls `auswerten`
rq.onreadystatechange = function() {
auswerten(localTarget, parameter);
};
无论如何,jQuery有一个内置的$.ajax
函数,它具有跨浏览器规范化并且使用起来更快。