Javascript 一键实现两个功能

标签 javascript ajax function load

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

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 调用做了很多额外的工作。我认为使用 jQuery ajax 方法你会运气更好。

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

Making Ajax calls

Appending to an element

关于Javascript 一键实现两个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074226/

相关文章:

javascript - 通过匿名函数使用 setInterval 的更好方法

更新 (ALTER) 另一个函数/过程的函数/过程

javascript - 使用小部件工厂扩展时,JQuery UI Droppable 贪婪选项不起作用

javascript - 动态创建时缺少 jsTree 功能

javascript - Node.js 上的事件相关递归

c - 此函数声明在 ‘;’ token 之前抛出错误 : expected ‘,’ , ‘)’ 或 ‘=’

javascript - 如何限制两次调用js append 功能

javascript - AngularJS 多维数组

php - 为什么这个 Ajax 渲染需要这么长时间?

javascript - Symfony2 将ajax请求数据传递给表单渲染 Controller