Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么javascript不止一次拒绝工作?_Javascript_Html - Fatal编程技术网

为什么javascript不止一次拒绝工作?

为什么javascript不止一次拒绝工作?,javascript,html,Javascript,Html,我有两个单独的链接调用相同的函数。它们用于将不同的外部html文档加载到主html文档的主体中。他们自己正确地工作。但当一个文档被加载时,另一个文档拒绝加载。什么是问题,伙计们 <li> <a href="#" class="decorNavi" onclick ="xmlRequest('about')" >ABOUT</a> </li> <li> <a href="#" class="decorNavi" o

我有两个单独的链接调用相同的函数。它们用于将不同的外部html文档加载到主html文档的主体中。他们自己正确地工作。但当一个文档被加载时,另一个文档拒绝加载。什么是问题,伙计们

<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();