gpt4 book ai didi

Javascript/AJAX 仅在调试时有效

转载 作者:行者123 更新时间:2023-11-28 09:55:42 25 4
gpt4 key购买 nike

目前我正在尝试动态填充网站。当我单步执行代码时,它运行得非常完美。但是,当我按预期在页面加载时运行它时,它不起作用。相关代码为:

<body onload="populate_all(string)";>

function populate_all(string)
{
var split = string.split(" ");
for(i = 0; i < split.length; i++)
{
populate(split[i], 'main');
}
}

function populate(string, location)
{
if (string.length==0)
{
document.getElementById(location).innerHTML="";
return;
}

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var divTag = document.createElement("div");

divTag.className ="info";

divTag.innerHTML = xmlhttp.responseText;

document.getElementById(location).appendChild(divTag);
}
}
xmlhttp.open("GET","populate.php?string="+string,true);
xmlhttp.send();
}

我已经阅读了足够多的关于这个问题的文章,可以确定 php 不是问题所在。基本上:我在循环中多次使用 AJAX 运行 javascript 函数,并且代码仅在调试时才有效。感谢您的帮助!

最佳答案

  1. Declare本地xmlhttp
  2. 使用不同变量名称作为位置location是一个全局变量,它包含操作当前位置的属性和方法。

    function populate(string, s_location) {
    var xmlhttp;

目前,您不断覆盖 populate 方法中的 xmlhttp 变量。结果,xmlhttp 对象指向最后一个请求。

关于Javascript/AJAX 仅在调试时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10063481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com