2013-03-25 63 views
0

我有多次的XmlHttpRequest调用的页面时,我知道我想输出到DIV哪个连接。使用Javascript - 多重的XMLHttpRequest,并与他们相关联的目标的div

有没有一种方法,我可以重新使用该函数的代码以某种方式传递我想输出将被写入divname。

现在,我从字面上复制功能的6倍以上!

+1

是的,用词汇范围/关闭概念很容易完成。如果你为了更快更客观的重构展示了你的请求中的2个代码会更好。 – 2013-03-26 00:02:47

+0

您可以创建一个JSON对象服务器端,其中键是查询选择器(如#myDiv),value是内容。 {“#myDiv”:“text ...”,“。myClass”:“其他文字...”}。在客户端Json.parse responseText并通过for进来。 – 2014-10-17 11:23:40

回答

3

当然可以。

如果你试图做同样的事情有6个不同的申报单,但使用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>秒。

的一点是,它是力所能及的工作,你重复,弄清楚如何把它转换成一个函数(或两个函数,或三个),并调用它,传递只有改变的部分。

如果是这样的路要走,然后更新您的例子问题,我们可以计算出来的东西。

相关问题