私は、複数のbigqueryクエリを実行し、結果をテーブルに並べ替えるサーバーサイドコードを用意しています。このサーバーサイドコードは、クライアントからのajax呼び出しによって呼び出されます。 私はサーバ側のコードからクライアント側にtable/divを送信してそこにレンダリングさせたいと思っています。それは可能ですか?html divをajaxに渡す
最初に実行するクエリがわからず、すべての結果が異なるため、JSON結果を呼び出すことでクライアント上にテーブルを作成できないようにしたいと思います。
function printResult(rows, queryNumber) {
console.log('Query No. '+queryNumber+' Results:____');
var keys = [];
if (queryNumber == 1) {
var table = document.createElement('table');
var td = [];
var tr = document.createElement('tr');
for (var i = 0; i < rows[0].length; i++) {
var tn1 = document.createTextNode(rows[i].Content_title);
var tn2 = document.createTextNode(rows[i].Audience_Size);
td[i] = document.createElement('td');
td[i].appendChild(tn1);
td[i + 1] = document.createElement('td').appendChild(tn2);
tr.appendChild(td[i]);
tr.appendChild(td[i + 1]);
table.appendChild(tr);
res.send(table);
}
}
}
Ajax呼び出し
Serverコード(app.js)(複数のAjaxの呼び出しはクエリごとに問題外でもある)
$.ajax({
url: 'http://localhost:3000/example',
type: 'POST',
data: {showname: show, counter: uniquesOverallShowsCounter},
dataType: 'text',
contentType: 'application/x-www-form-urlencoded',
success: function (data) {
document.getElementById('outputTables').appendChild(data);
},
error: function() {
console.log("error");
}
});
データの例を含めてください。 – Hitmands
これは間違いなく動作しますが、あなたの 'res.send(table)'は現在間違った位置にあります。 forループの後に置きます。 –
@DouwedeHaan「ノード上で「appendChild」を実行できませんでした:パラメータ1のタイプが「ノード」ではありません。 ajaxコールで。 –