내가 undefined'- 'XMLHttpRequest를 통해 PARAMS을 통과 얻으려고 nodejs는 API를
클라이언트 :
var xj = new XMLHttpRequest();
var params = JSON.stringify({
PreviousTab: "cnn.com",
CurrentTab: "bbc.com"
});
xj.open("GET", "http://localhost:8080/api/traceTabs", true);
xj.setRequestHeader("Content-Type", "application/json");
xj.setRequestHeader ("Accept", "application/json");
xj.send(params);
서버 (Node.js를)
app.get('/api/traceTabs', function (req, res) {
console.log('change url from ' + req.body.PreviousTab +
' to ' + req.body.CurrentTab); // return 'undefined'
});
server.js 구성 (Node.js를)
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var port = process.env.PORT || 8080;
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(methodOverride('X-HTTP-Method-Override'));
app.use(express.static(__dirname + '/public'));
require('./app/routes')(app);
app.listen(port);
console.log('Listen to port ' + port);
exports = module.exports = app;
나는 PARAMS 돌아 가려고 한 모든 옵션은 '정의되지 않은'등
req.body.PreviousTab/req.param ('PreviousTab')와.
누군가 도움을 줄 수 있습니까?
당신은 – Stamos
당신이 게시하거나 PARAMS가 전송 될 때까지 둘 필요가 미들웨어 관련 서버 측 코드를 추가 할 수 있습니다 - 귀하의 브라우저 개발자 도구 네트워크 탭을 확인, 당신은 정의를 참조 더 params를 요청 –
에 전송되지 않습니다 볼 수 있습니다 XM LHttpRequest send() -> https://xhr.spec.whatwg.org/#the-send()-method - GET/HEAD 요청에 대한 나의 이전 주석, body가 null로 강제된다. , PUT/POST 메서드는 본문과 함께 보낼 수있는 유일한 메서드는 아니지만 가장 일반적인 방법입니다 –