Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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_Ajax_Function_Load - Fatal编程技术网

Javascript一次点击两个函数

Javascript一次点击两个函数,javascript,ajax,function,load,Javascript,Ajax,Function,Load,我正在尝试在两个不同的分区中加载两个不同的文件。这是我正在使用的代码 var please_wait = null; function open_url(url, target) { if (!document.getElementById) { return false; } if (please_wait != null) { document.getElementById("target").innerHTML = please_wa

我正在尝试在两个不同的分区中加载两个不同的文件。这是我正在使用的代码

var please_wait = null;
function open_url(url, target) {
    if (!document.getElementById) {
        return false;
    }
    if (please_wait != null) {
        document.getElementById("target").innerHTML = please_wait;
    }
    if (window.ActiveXObject) {
        link = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        link = new XMLHttpRequest();
    }
    if (link == undefined) {
        return false;
    }
    link.onreadystatechange = function () {
        response(url, target);
    }
    link.open("GET", url, true);
    link.send(null);
}
function response(url, target) {
    if (link.readyState == 4) {
        document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Ooops!! A broken link! Please contact the webmaster of this website  and give him the following errorcode: " + link.status;
    }
}
function set_loading_message(msg) {
    please_wait = Loding;
}
对于链接的调用,我使用这个代码

<a href="javascript:void(0)" onclick="open_url('firstpage.php','containerA');open_url('secondpage.php','containerB')">  Click Here </a>


它只是在任何情况下加载后一个。我尝试了很多不同的方法,制作了两种完全不同的方法,例如open_url2,但是没有用。它在一个DIV中一次只加载一个请求。任何解决方案。

使用老式的ajax调用,您都在做大量额外的工作。我认为使用jQueryAjax方法会更好

至于为什么要加载后者,您是否检查了firebug或其他网络工具,以查看是否两个文件都加载了如果它们都被加载,我相信可能发生的情况是后者正在用您正在使用的.innerHTML函数覆盖第一个。您想要附加。查看这些链接,使用jQuery将更容易:


您似乎正在使用
链接
作为全局变量。因此,对
open\u url()
的第二次调用将覆盖从第一次调用创建的
link
的值

您应该将其设置为
open\u url()
函数的本地,并将其传递给
response()
函数

var please_wait = null;
function open_url(url, target) {

      // v----declare the variable
    var link;
    if (!document.getElementById) {
        return false;
    }
    if (please_wait != null) {
          // ----------------------v---"target" is a String???
        document.getElementById("target").innerHTML = please_wait;
    }
    if (window.ActiveXObject) {
        link = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        link = new XMLHttpRequest();
    }
    if (link == undefined) {
        return false;
    }
    link.onreadystatechange = function () {
        response(url, target, link); // <-- pass "link" to the response
    }
    link.open("GET", url, true);
    link.send(null);
}

  // receive "link"-------------v----so that you have the correct xhr object
function response(url, target, link) {
    if (link.readyState == 4) {
        document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Ooops!! A broken link! Please contact the webmaster of this website  and give him the following errorcode: " + link.status;
    }
}
function set_loading_message(msg) {
    please_wait = Loding;
}
var请等待=null;
函数打开url(url,目标){
//v----声明变量
var-link;
如果(!document.getElementById){
返回false;
}
如果(请稍候!=null){
//-------------------------v---“target”是字符串吗???
document.getElementById(“目标”).innerHTML=请稍候;
}
if(window.ActiveXObject){
link=newActiveXObject(“Microsoft.XMLHTTP”);
}else if(window.XMLHttpRequest){
link=newXMLHttpRequest();
}
if(link==未定义){
返回false;
}
link.onreadystatechange=函数(){

响应(url、目标、链接);//如前所述,您在AJAX上存在争议

下面是您的代码在jQuery中的外观

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"</script>

<script type="text/javascript">
$(document).ready(function() {
  $("#link1").click(function() {
    $("#containerA').load("firstpage.php",function() {
      $("#containerB').load("secondpage.php");
    });
  });
});
</script>

<a id="link1" href="#">  Click Here </a>