0

我有一个包含多个 XmlHttpRequest 调用的页面,并且我知道我想将哪个连接输出到哪个 div。

有没有一种方法可以重用函数的代码,以某种方式传递我希望输出写入的 divname。

现在,我实际上将这些功能复制了 6 次!

4

1 回答 1

3

当然可以。

如果你试图用 6 个不同的 div 做完全相同的事情,但是使用 6 个不同的调用和 6 个不同的响应,那么制作一个需要一个 div 的函数,并使用该函数 6 次......

var doSomethingAJAX = function (el, url) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.onload = function () { el.appendChild(document.createTextNode(xhr.responseText)); };
    xhr.onerror = function () { /* ... */ };
    xhr.send();
};

doSomethingAJAX(document.getElementById("div1"), "http://example.com/json1.json");
doSomethingAJAX(document.getElementById("div2"), "http://example.com/json2.json");

有更通用的方法可以做到这一点,但我不建议你制作一个 AJAX 框架,如果你试图解决 6<div>秒。

关键是,无论您重复的是什么工作,弄清楚如何将其转换为一个函数(或两个函数,或三个),然后调用该函数,只传入改变的部分。

如果这太离谱了,那么用例子更新你的问题,我们可以想出办法。

于 2013-03-26T00:09:20.727 回答