我正在嘗試使用 node js 中的 ajax 變數,但我不知道如何使用。
const express = require('express');
const app = express();
app.listen(8080, function() {
console.log('Listening on 8080.');
});
app.get('/', function(req, res) {
res.sendFile(__dirname '/search.html');
console.log('req.params:', req.params); //req.params: {}
});
上面的代碼是我的 server.js
<script>
function postData() {
var country = document.getElementById("Country").value;
console.log(country);
$.ajax({
type: "GET",
url: 'http://localhost:8080/',
data: country,
dataType:'text',
success: function(data) {
console.log('success data: ', data);
}
});
}
</script>
搜索.html
uj5u.com熱心網友回復:
假設您要做的是country在 Ajax 呼叫中傳遞值,然后在服務器上訪問該值,那么您需要將國家/地區放入 URL 中,以便您的服務器可以將其從 URL 中取出。
有了$.ajax()你可以傳遞一個物件,然后jQuery將自動生成表格的查詢字串key=value。或者,您可以將其作為路徑的一部分直接添加到 URL 中。以下是將其作為查詢字串執行的方法:
function postData() {
var country = document.getElementById("Country").value;
console.log(country);
$.ajax({
type: "GET",
url: 'http://localhost:8080/',
data: {country: country},
success: function(data) {
console.log('success data: ', data);
}
});
}
這將創建一個 URL,例如:
http://localhost:8080/?country=USA
然后,在您的服務器上,您可以使用req.query.country來獲取值:
app.get('/', function(req, res) {
console.log(req.query.country);
res.sendFile(__dirname '/search.html');
});
您還可以創建 URL,例如:
http://localhost:8080/usa
并且,向該 URL 發出請求。要在您的服務器上接收它,您可以執行以下操作:
app.get('/:country', function(req, res) {
console.log(req.params.country);
res.sendFile(__dirname '/search.html');
});
請注意,這就是我所說的通配符路由,因為它匹配任何可能干擾您在服務器上使用其他頂級 URL 的能力的頂級路徑。我建議不要使用頂級通配符 URL。您可以添加這樣的路徑前綴:
http://localhost:8080/country/usa
然后使用這個:
app.get('/country/:country', function(req, res) {
console.log(req.params.country);
res.sendFile(__dirname '/search.html');
});
然后,它不會干擾您的服務器可能想要使用的其他頂級 URL。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/357920.html
標籤:javascript 节点.js
