我完全不熟悉node.js並表達。 我已經在我的客戶端頁面上用JavaScript做了一些計算,我想將生成的數字數組發送到我的node.js服務器應用程序。當我不得不發送表單數據時,我只是將表單動作用於我的路線。現在我完全迷失了,不知道從哪裏開始。我應該在我的路由中寫入哪些代碼以及如何從我的客戶端應用程序將js變量或數組傳遞給它?如何將變量從客戶端傳遞到Express api
回答
向您的服務器上運行的Express應用程序發送數據數組,最簡單的方法是將其作爲JSON對象發送。使用jQuery一個簡單的例子如下所示:
客戶機代碼:
var your_calculated_array = []; // Set your calculated array here
$.ajax({
type: 'POST',
url: 'YOUR_EXPRESS_ENDPOINT',
data: { your_data: your_calculated_data },
dataType: 'json',
success: function (data) {
// Handle the response here
}
});
服務器端代碼(使用身體的解析器的中間件來解析JSON體):
.....
var bodyParser = require('body-parser')
app.use(bodyParser.json());
app.post(YOUR_EXPRESS_ENDPOINT, function(req, res) {
var calculated_data = req.body.your_data
// ...
})
.....
然而,它一直在試圖對服務器做出請求,但我一直在嘗試測試它,但即使我在客戶端 和服務器中的console.log(req.body.your_data)中執行了數據{your_data:「test」}端點控制檯總是顯示undefined –
簡單示例
app.js
var express = require('express')
var app = express()
app.set('view engine', 'pug')
app.get('/', function (req, res) {
res.render('index')
})
app.post('/example_route', function (req, res) {
res.send({'msg': 'Hello World!'})
})
app.listen(3000, function() {
console.log('Example app listening on port 3000!')
})
的意見/ index.pug
doctype html
html
head
title= 'HomePage'
script(src='https://code.jquery.com/jquery-3.2.1.min.js')
body
button(onclick='$.post("http://localhost:3000/example_route", function(data) {alert(data.msg);})') Click me!
本網頁包括來自CDN jQuery和onclick事件使一個POST請求到服務器。
我試過這個,但我得到這個錯誤:XMLHttpRequest無法加載http:// localhost:3000/example-route。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許原產地'null'訪問。 –
這意味着POST請求必須來自它發送數據的同一個站點。在瀏覽器地址欄中你訪問127.0.0.1:3000或localhost:3000?不管它是什麼,在瀏覽器地址欄和onclick監聽器代碼中都應該相同。 –
我沒有託管我的客戶端應用程序在任何地方都可以做到這一點,而無需在同一臺服務器上運行它? –
- 1. 將變量從服務器端javascript傳遞到客戶端javascript
- 2. 將變量從服務器(Node.JS)傳遞到客戶端
- 3. 流星:將變量從服務器傳遞到客戶端
- 4. 如何將客戶端參數傳遞到服務器端的Angular/Node.js/Express
- 5. 我該如何將變量的值從Django模板傳遞到客戶端JavaScript?
- 6. 如何將變量內容傳遞給客戶端?
- 7. 如何使用Node.js + HBS + Express將JSON傳遞給客戶端?
- 8. 從VB函數傳遞變量到客戶端javascript
- 9. GWT傳遞從服務器到客戶端的配置變量
- 10. 節點快速傳遞變量從客戶端到服務器
- 11. 如何將變量從Express傳遞到Jade模板
- 12. 如何通過node.js將cookie從couchd傳遞到客戶端
- 13. 將客戶端JavaScript變量傳遞給服務器端php
- 14. 快車 - 傳遞客戶端數據到API,並從API
- 15. 將javascript變量從客戶端傳輸到服務器
- 16. 快遞,如何將路由變量傳遞給客戶端的JS文件
- 17. 將sql blob傳遞到客戶端
- 18. 使用node.js + socket.io + express/ejs將數據從客戶端傳遞到服務器
- 19. 如何將傳統的asp會話變量數組傳遞給客戶端JavaScript?
- 20. 如何使用AutoRest客戶端傳遞客戶端證書
- 21. 將數據從cherrypy服務器端傳遞到javascript客戶端
- 22. 將參數從服務器端傳遞到客戶端
- 23. 如何從後端將變量傳遞到$ rootScope中
- 24. 如何將變量從Jade傳遞到Node.js端點函數
- 25. 在node/express + ejs中將對象傳遞給客戶端?
- 26. 在node + express + jade中將對象傳遞給客戶端?
- 27. 如何將會話變量從express/node傳遞給angular?
- 28. 將數據從客戶端傳遞到wcf服務到域層
- 29. 傳遞變量(服務器端/客戶端)節點JS
- 30. 將用戶地理位置從客戶端傳遞到服務器端
您可以在快速應用程序中創建POST方法路線,並使用jquery通過ajax調用從客戶端頁面中打開POST api。 –
你能給我很簡單的expample嗎?我嘗試了谷歌搜索它,但所有的例子是非常複雜的JS對象,而不是完全一樣我正在尋找 –
相關:[Express js表單數據](https://stackoverflow.com/questions/24800511/express-js - 形式數據)。另請參閱['req.body'](http://expressjs.com/en/4x/api.html#req.body)的文檔。 –