gpt4 book ai didi

php - JavaScript 不工作,没有错误

转载 作者:行者123 更新时间:2023-12-02 20:48:37 26 4
gpt4 key购买 nike

我有以下 JavaScript 代码,加载时没有错误,但是更新功能实际上似乎不起作用,因为 get_Records.php 从未加载。我无法测试 get_auction.php 是否已加载,因为它是从 get_records.php 中加载的

我主要担心的问题之一是,我让 update() 接受参数 pk 和查询是错误的,因为只有其中一个会被使用。这似乎是一个糟糕的黑客,而且逻辑很差,但我不知道有更好的方法。

这是代码

var xmlHttp
var layername
var url

function update(layer, part, pk, query) {
alert ("update");
if (part=="1") {
alert ("part 1");
url = "get_auction.php?cmd=GetAuctionData&pk="+pk+"&sid="+Math.random()
} else if (part=="2") {
alert ("part 2");
url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random()
}
xmlHttp=GetXmlHttpObject()
if(xmlHttp==null) {
alert("Your browser is not supported?")
}
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
document.getElementById(layer).innerHTML=xmlHttp.responseText
} else if (xmlHttp.readyState==1 || xmlHttp.readyState=="loading") {
document.getElementById(layer).innerHTML="loading"
}
};
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function GetXmlHttpObject() {
var xmlHttp=null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp =new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
return xmlHttp;
}

function makewindows() {
child1 = window.open ("about:blank");
child1.document.write(<?php echo htmlspecialchars(json_encode($row2["ARTICLE_DESC"]), ENT_QUOTES); ?>));
child1.document.close();
}

我将警报语句放入更新函数中,但没有显示任何警报语句,表明更新函数从未被调用?

我不想,也不能使用框架,也没有权限使用 firebug,所以请不要建议这些事情。我了解它们并尽可能使用它们。

我还想知道从 makewindows() 中调用 php 是否比让 makewindows 仅接受参数更可取。每种方法有什么优点或缺点吗?

尝试调用该函数时似乎出现错误,这就是我在 PHP 中执行此操作的方式:

echo "<li><a href='#' onclick=update('Layer3','2','0','hello')'>Link 1</a></li>" . 

这使得这个 html 应该没问题?"\n";

<li><a href='#' onclick='update('Layer3','2','0','hello')'>Link 1</a></li>

编辑:我采纳了 tester101 的建议并将其更改为:

echo '<li><a href="#" onclick="update(\'Layer3\',\'2\',\'0\',\'hello\')">Link 1</a></li>' . "\n"; 

这仍然给出一个错误。我可能最终会使用汤姆斯答案,但想知道为什么这不起作用。

最佳答案

如果您可以使用 Firefox 并重现错误,我强烈建议使用 Firebug因为它真的很容易使用和单步执行脚本、设置断点等。此外,您不必使用“警报”语句,您可以使用诸如 console.info("unexpected value x=%o", some_object); 之类的东西; 它会将一个值记录到控制台(包括第 # 行),您可以稍后检查该值,而无需中断脚本。

编辑:事实上,如果您在服务器上使用 PHP,则可以使用 FirePHP帮助在客户端进行调试。

关于php - JavaScript 不工作,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359328/

26 4 0
文章推荐: javascript - 如何用 Javascript 实现客户端替换?
文章推荐: php - JavaScript 函数没有响应
文章推荐: javascript - 使用值选择