Das übliche Problem mit Ajax.
Ajax ist, wie in der Abkürzung bereits enthalten, "asynchron". Das heißt die Rückgabe kommt irgendwann später, spaltet sich sozusagen vom Skriptverlauf ab. Du bekommst niemals einen direkten Rückgabewert.
Stattdessen bietet jeder Ajaxrequest ein Callback, das die Daten übergeben bekommt.
Ich weiß jetzt nicht wie man das Callback in deinen Ajax.PeriodicalUpdater einbindet, das musst du nachsehen.
Code:
var callback = function (data) { // <- data des Ajaxrequests kommt an
// weise, abhängig von data, die Daten in dein div ein
}
new Ajax.PeriodicalUpdater(div_id, site, {
method: 'get',
frequency: 10,
decay: 1
}, callback);
Was mit div_id passiert ist mir jetzt unklar. Vielleicht musst du das auch etwas anders lösen, dennoch wirst du nicht um das Callback herum kommen.