1
就像我的標題所說,我試圖從包含json數據的AJAX請求('/ home/playback/json')的路由中提取數據。但這個數據將不存在,除非查詢完成但我試圖從我的客戶端頁面(playback.ejs)合併這個,但我無法連接查詢到我的路由連接到我的數據庫。任何想法或文件我應該嘗試?如何從Node.js中的路由查詢字符串中獲取ajax數據?
AJAX請求
$(document).ready(function() {
$('#search').on('submit', function() {
$.ajax({
url: "http://localhost:8080/home/playback/json",
contentType: "application/json",
dataType: 'json',
success: function (data) {
console.log(data);
},error: function() {
alert('error');
},
type: "GET",
});
});
});
Route.js
app.get('/home/playback', function (req, res) {
res.render('playback.ejs');
});
app.get('/home/playback/json', function (req, res) {
//database connection
dbconnection.query("SELECT * FROM myTable WHERE FILE_NUM LIKE '%" + req.query.searchFileNumber + "%' LIMIT 5", function (err, rows, fields) {
if (err) throw err; //Show any errors
var data = [];
for (i = 0; i < rows.length; i++) {
data.push(rows[i]);
}
res.json(data);
});
});
是的,這工作讓我得到我的數據。但是如果我想用表單來做呢?就像如果我有一個輸入,並希望將$ .ajax中的url更改爲不同的查詢,我將如何去做這件事? 哦,是的,我剛剛熟悉MySQL首先使用節點,並且我將更多地瞭解有關SQL注入漏洞的connection.escape()或pool.escape()方法。 –
你可以使用'var searchFileNumber = $(「#id-of-input-field」).val();'來獲得輸入字段的值,然後使用'「http:// localhost: 8080/home/playback/json?searchFileNumber =「+ searchFileNumber' –
它的工作表示感謝! –