簡體   English   中英

解析ExpressJS中的application / x-www-form-urlencoded

[英]Parsing application/x-www-form-urlencoded in Expressjs

我正在使用Angular發布到我的API。 在處理CORS時,我已將標頭設置為www-form-urlencoded以避免“飛行前”。

$http.post(url, {key1: value1, key2: value2},{"headers":{ "Content-Type" : "application/x-www-form-urlencoded; charset=UTF-8" }}).
  success(function(data, status, headers, config) {

  }).
  error(function(data, status, headers, config) {

  });

現在的問題是,即使我在server.js中擁有了我認為可以完成工作的對象,我似乎也無法解析正在發布的對象:

var bodyParser     = require('body-parser');
app.use( bodyParser.urlencoded({ extended: true }));

我試圖訪問與所述所張貼值req.body.key1但我越來越undefined

您實際上並沒有發送application/x-www-form-urlencoded數據,因此中間件變得混亂。 設置Content-Type標頭可以告訴服務器您正在發送哪種數據,但是實際上您並沒有在任何地方更改數據格式,因為沒有任何東西告訴Angular您要發送經過urlencoded數據,因此服務器仍在獲取JSON 。

該答案顯示了如何對數據進行編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM