为什么javascript不止一次拒绝工作?
我有两个单独的链接调用相同的函数。它们用于将不同的外部html文档加载到主html文档的主体中。他们自己正确地工作。但当一个文档被加载时,另一个文档拒绝加载。什么是问题,伙计们为什么javascript不止一次拒绝工作?,javascript,html,Javascript,Html,我有两个单独的链接调用相同的函数。它们用于将不同的外部html文档加载到主html文档的主体中。他们自己正确地工作。但当一个文档被加载时,另一个文档拒绝加载。什么是问题,伙计们 <li> <a href="#" class="decorNavi" onclick ="xmlRequest('about')" >ABOUT</a> </li> <li> <a href="#" class="decorNavi" o
<li>
<a href="#" class="decorNavi" onclick ="xmlRequest('about')" >ABOUT</a>
</li>
<li>
<a href="#" class="decorNavi" onclick ="xmlRequest('contactus')" >CONTACT US</a
</li>
您正在覆盖函数中的函数声明:
function xmlRequest(target) {
及
它触发一次,然后用xmlRequest替换函数。将第二个函数命名为其他函数。函数“xmlRequest”的名称和其中定义的对象的名称相同。将其更改为其他内容。正如Mike Robinson所说,您正在覆盖您的函数。为函数使用其他名称。就这么简单
函数xmlRequest(targetClick){
var xmlRequest;//xmlRequest不再是一个全局变量。
if(window.XMLHttpRequest){
xmlRequest=newXMLHttpRequest();
}否则{
xmlRequest=newActiveXObject(“Microsoft.XMLHTTP”);
}
xmlRequest.open(“GET”,targetClick+”.html?=“+Math.random(),true);
xmlRequest.onreadystatechange=函数(){
if(xmlRequest.readyState==4&&xmlRequest.status==200){
document.getElementById(“midContainer”).innerHTML=xmlRequest.responseText;
}
}
xmlRequest.send();
}
JSbin:如果
var-xmlRequest,这种情况会持续吗代码>?尝试调试您的xmlRequest。如果您在JavaScript控制台中遇到任何错误,状态可能是其他的?您在控制台中遇到了什么错误?我同意Paul的观点,尝试放置var xmlRequest代码>在使用它之前,可能在var targetClick之后声明它代码>。javascript中没有重载吗?@Amal.A记住javascript不是强类型语言;如果出现重载这样的情况,解释器将无法知道如何决定您想要哪个。Paul S是对的。你在JS函数中见过这种情况吗?:if(!param){param=0;}@PaulS。非常感谢您,先生。@MattCampbell我已经习惯了java,所以最终我变得懒惰,希望解释器为我做一件事=)这仍然会创建全局变量您是对的,只需要添加var xmlRequest代码>否:)
function xmlRequest(target) {
xmlRequest = new XMLHttpRequest();