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

これを行うためのより一般的な方法がありますが、6 秒間解決しようとしている場合は、AJAX フレームワークを作成することをお勧めしません<div>

要点は、繰り返している作業が何であれ、それを関数 (または 2 つの関数、または 3 つの関数) に変換する方法を見つけ出し、その関数を呼び出して、変更された部分のみを渡すことです。

これがかなりずれている場合は、質問を例で更新してください。何かを理解できます。

于 2013-03-26T00:09:20.727 に答える