私はアプリケーションで作業しており、MEANスタックを技術として使用しています。 AngularJSでは、CRUD操作にngResourceを使用しています。誰でも、サーバーにユーザー名とパスワードを送信し、資格情報が有効かどうかを確認するための応答を戻す方法を提案できますか? ngResourceとmongooseコードで助けが必要です。ありがとう。MEANスタックとngResourceを使用していくつかのデータを投稿し結果を得る方法
答えて
mean.js定型をチェックアウト: https://github.com/meanjs/mean
あなたは、彼らはかなり迅速にそれを行う方法を説明します:
moduleName.client.controller.js
は、注入されたHTTPを使用して、HTTP呼び出しを行います。ここでは、コールの例は、(それが簡単にあなたが探しているものを見るために作るために、コードにはいくつかの編集で)/modules/users/client/controllers/authentication.client.controller.js
から行われている。
AuthenticationController.$inject = ['$scope', '$state', '$http', 'Authentication'];
function AuthenticationController($scope, $state, $http, Authentication,) {
...
vm.authentication = Authentication;
$http.post('/api/auth/signup', vm.credentials).success(function (response) {
// If successful we assign the response to the global user model
vm.authentication.user = response;
}).error(function (response) {
vm.error = response.message;
});
}
さて、この呼び出しが投稿されたに「/ API/auth/signup 'を選択します。このルートを扱うファイルは/modules/users/server/routes/auth.server.routes.js
に位置しています:あなたが見ることができるように
modules.exports = function(app) {
var users = require('../controllers/users.server.controller');
...
app.route('/api/auth/signup').post(users.signup);
}
、ルート(URL)を使用すると、クライアントコントローラから呼び出されたものと一致します。コントローラからの$ httpコールが$http.post()
だったので、ルートエントリは一致する必要があります。上記のことが分かります。 上記のパラメータusers.signup
は、さらに別のファイルのファンクションを指します。/modules/users/server/controllers/users/users.authentication.server.controller.js
。これはusers
モジュールの認証部分のメインコントローラーです。さて、このファイルの中に、私たちはsignup
関数がエクスポートされ見ることができます。
/* note: there are global variables here, see below */
exports.signup = function (req, res) {
// For security measurement we remove the roles from the req.body object
delete req.body.roles;
// Init user and add missing fields
var user = new User(req.body);
user.provider = 'local';
user.displayName = user.firstName + ' ' + user.lastName;
// Then save the user
user.save(function (err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
// Remove sensitive data before login
user.password = undefined;
user.salt = undefined;
req.login(user, function (err) {
if (err) {
res.status(400).send(err);
} else {
res.json(user);
}
});
}
});
};
今、多くはここで起こっているが、我々はそれを打破することができます。
req
変数は$ httpが渡す投稿要求です。 res
変数は、クライアントが返信する応答です。 vm.credentials
が$http.post('/api/auth/signup/', vm.credentials)
にどのように渡されたかに注目してください。これはreq.body
に拘束されており、サーバーコントローラからアクセスできます。
この例では、req.bodyはサーバー上に新しいユーザーを作成するために必要なデータです。これは、Userというスキーマを持つmongooseを使用して行われます。コントローラ上部のグローバルを宣言してアクセスしてください:
var mongoose = require('mongoose'),
User = mongoose.model('User');
新しいユーザーが上記のインスタンス化されていることがわかります。これは、マングースコール.save()
によって保存されます。
最後に、サーバー関数は、関数に渡された変数res
を使用して、クライアントの要求に応答する必要があります。ユーザーが正常に作成されると、関数呼び出し方法を参照してください
res.jsonp(user);
これは、応答を受け取り、ローカル変数vm.authentication.user
これが役に立てば幸いにバインドし、クライアントにsuccess()
です!
- 1. ngResourceモジュールを使用してデータを投稿しようとしています
- 2. ngResourceのURLを使用してURLを投稿する
- 3. javascript adapterを使用して画像をサーバーに投稿し、xml結果を取得する方法?
- 4. MEANスタックでのデータベース結果の照会
- 5. ボレーを使用して生データを投稿する方法は?
- 6. SQL結合を使用して投稿タグを取得する
- 7. MEANスタックを使用したサインアップでのエラーメッセージの表示方法
- 8. 投稿を投稿してから投稿する方法
- 9. api - IDを使用してFacebookの投稿データを取得
- 10. ルビー - tagsinputを投稿し、その結果
- 11. ジオロケーションとjQuery - ajaxを使用して結果を投稿できません
- 12. 投稿IDを使用して特定の投稿を表示する方法
- 13. データを投稿し、PHP Curlを使用してレスポンスを取得しますか?
- 14. アンドロイドスタジオを使用してアンドロイドアプリからサーバーにデータを投稿する方法
- 15. MEANスタックの新機能、データの取得方法は?
- 16. フォームを投稿し、JQuery/ASPを使用してファイルの結果を取得するMVC
- 17. PHPを使用してFacebookに投稿を投稿する方法
- 18. WebRequestを使用してデータを投稿し、Webページから回答を得る方法
- 19. scikitを使用して結果を取得する方法
- 20. fiddlerでlibcurlを使用して投稿するデータの表示方法を教えてください。
- 21. MEANを使用してデータを保存
- 22. AngularJSを使用してボタンのクリックでデータを投稿する方法
- 23. neo4jを使用してspringデータjpaを使用してカスタム結果を取得する方法は?
- 24. どのようにデータを投稿し、PHPを使用してアクションページから結果を得ることができますか?
- 25. Poll Muleを使用してURLからデータを投稿する
- 26. HttpUrlConnectionを使用したデータ投稿方法
- 27. 投稿を使ってデータを投稿してからダウンロードする
- 28. Djangoのコメントフレームワークを使用してコメントを投稿する方法
- 29. php:1つのサブミットで複数のフォームから投稿結果を得る
- 30. MEANスタック(MySQL、Express、Angular、Node)を使用してデータベースにデータを挿入する方法
ありがとうmtro。それは問題を完全には解決しませんが、それは多くの助けになります。 – SumantMishra