で、サーバー側でクライアントからデータを取得することはできませんが、私はそれのために正しい答えを見つけるように見えることはできません。私はIonicプロジェクトに取り組んでいます。ここでNode.jsとexpress.jsを使って別のプロジェクトを作成して、すべてのHTTPリクエストを処理しています。どちらも現時点ではlocalhost上で動作しています。クライアント側からサーバー側にデータを送信しようとすると、要求時のデータは、console.log(req.body)のようになります。はイオンとExpress.js
{ '{"username":"[email protected]"}': '' }
私は両方req.body [ユーザー名]をしようと試みたというようにデータを取得するために、しかし、それは単に未定義ます。 httpリクエストを処理するための
私のコントローラは、次のようになります。
router.post('/users', function (req, res) {
var username = req.body;
var newUser = new User({
username: username
})
newUser.save(function (err) {
if (err) {
return res.send(500, err);
}
return res.json(200, newUser);
});
});
Server.js bodyparser:
$scope.submit = function(){
var username = $scope.username;
console.log($scope.data.username);
$http({
method: 'POST',
url: 'http://localhost:8000/api/users',
data: username,
headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Access-Control-Allow-Origin': '*'}
});
HTML要素
<input type="text" ng-model="data.username" name="name">
サーバー側のAPIは次のようになります含まれています
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));
app.use(bodyParser.urlencoded({ extended: true }));
コントローラに保存されているユーザー名を教えてください – turmuka