0
我正在使用對postgres數據庫的查詢將結果存儲在快速應用程序的服務器端的GET請求中的變量中。如何從快速應用程序的服務器端的GET請求查詢發送響應?
我的查詢返回的是我在psql中運行時查找的問題ID,但我很難獲得響應以存儲在變量中,因此我可以將響應發送到客戶端。
我的代碼如下所示:
const pg = require('pg');
const connection = 'postgres://aa2:[email protected]:5432/bugtrackingdb';
const client = new pg.Client(connection) ;
client.connect();
app.get('/tracking', function(req, res) {
var sql = "SELECT bugtracking.issues.issueID FROM bugtracking.issues WHERE bugtracking.issues.issueID = (SELECT MAX(bugtracking.issues.issueID) FROM bugtracking.issues);"
var issueID;
client.query(sql, function(err, result) {
if (err){
console.log("error in tracking");
}
issueID = JSON.stringify(result.rows[0]);
console.log("Tracking Result" + issueID);
//GET results
res.json(res.statusCode);
// res.json(issueID);
console.log("Selected Bug Tracking IssueID. Status Code: " + res.statusCode);
});
});
如何從查詢到的數據存儲在issueID變量將其發送到我的應用程序的客戶端得到數據?
我也在使用body-parser。
編輯: 這幾乎就像查詢甚至沒有執行,因爲我不能讓我的console.log語句打印。這是我的前端代碼,以幫助更好地理解:
$(window).load(function() {
$.ajax({
type: 'GET',
url: 'http://139.169.63.170:' + port + '/tracking',
dataType: 'json',
cache: true,
success: function (data) {
console.log("DEBUG DONE WITH CAPTURING tacking#: " + data);
if (data === Number(200)) {
issueID = issueID + 1;
$(".trackingID").val(issueID);
}
}
});
console.log("Window loads & Ajax runs???");
});
2日編輯:
這裏是在psql裏運行我的查詢結果。我試圖讓數「33」從我的GET請求返回:
bugtrackingdb=# SELECT bugtracking.issues.issueID FROM bugtracking.issues WHERE bugtracking.issues.issueID = (SELECT MAX(bugtracking.issues.issueID) FROM bugtracking.issues);
issueid
---------
33
(1 row)
後,這幾個變化是什麼,我得到從後端的console.log報表打印:
Tracking Result: [object Object]
Selected Bug Tracking IssueID. Status Code: 304
EDIT(越來越近):
我字符串化的[0]從對象從我的查詢返回的result.rows。我現在能得到的結果打印到服務器端的console.log這給了我下面的結果:
Tracking Result: {"issueid":"37"}
Selected Bug Tracking IssueID. Status Code: 304
status: 200
然而,當我取消對該行res.json(issueID)
我得到一個錯誤。
如何將我的JSON對象發送回客戶端以便我可以根據需要顯示它?
您的回答應該存儲在結果中。 我不知道你的數據庫是如何構建的,但你應該能夠以這種方式訪問數據庫返回的所有值。 結果是什麼? – sheplu
我的console.log結果不打印到終端。那是什麼令我困惑 – lopezdp
results.rows.length === 0,是錯誤的?不要引起你的問題,但它引起了你的第二條陳述。 –