मुझे http.post से जेसन प्राप्त करने में कोई समस्या है। के यह स्पष्ट थोड़ा करते हैं: यह मेरा घटक फ़ाइल है:कोणीय 2 http.post और अपरिभाषित req.body
import {Component} from 'angular2/core'
import {Http, HTTP_PROVIDERS, Headers} from 'angular2/http'
@Component({
selector: 'login-form',
template: `
<form (ngSubmit)="onSubmit()">
<button type="submit">Wyslij</button>
</form>
`
})
export class LoginFormComponent {
constructor(public http: Http) { }
onSubmit() {
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
var data = JSON.stringify({
login: "zupa",
});
this.http.post('http://localhost:8080/send', data, {headers: headers})
.subscribe();
}
}
मेरे server.js फ़ाइल
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.use(express.static(path.join(__dirname, 'node_modules')));
app.use(express.static(path.join(__dirname)));
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.get('*', function(req, res, next) {
res.render("index.html", {title: 'Aplikacja'});
});
app.listen(8080, function() {
console.log("Starting at localhost:8080");
});
module.exports = app;
आप देख सकते हैं, इस एक्सप्रेस मॉड्यूल सर्वर फ़ाइल द्वारा उत्पन्न एक मानक है।
यह मेरी "मार्ग" फ़ाइल की सामग्री है।
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index.html', {title: 'Infam'});
});
router.post('/send', function(req, res, next) {
console.log("Received data: " + req.body.login);
});
module.exports = router;
सर्वर मेरे लिए एक संदेश देता है: "प्राप्त डेटा: अपरिभाषित" और मैं क्यों req.body.login अपरिभाषित है पता नहीं है। क्या आप मेरी मदद कर सकते हैं? पहले ही, आपका बहुत धन्यवाद।
पुनश्च: एक ही जब मैं
"login": "zupa"
बजाय
login: "zupa"
जब आप सर्वर पक्ष पर req.body लॉग आउट करते हैं तो आपको क्या मिलता है। – inoabrian
कृपया 'req' –
की सामग्री पोस्ट करें अरे, उस स्थिति में मेरे पास '[ऑब्जेक्ट ऑब्जेक्ट]' है। जब मैं 'console.log का उपयोग करता हूं (" डेटा प्राप्त हुआ: "JSON.stringify (req.body)) 'मेरे पास' {"{\" लॉगिन \ "है: \" zupa \ "}": ""}' तो ऐसा लगता है जैसे पार्सिंग में कुछ गड़बड़ है। – elzoy