Question

Dans mon application, je dois utiliser un analyseur de corps pour demander des paramètres (Node.js AngularJS basé sur blog-angular-express).Par exemple (contrôleur AngularJS) :

$scope.changeComment = (comment) ->
  $http.put('/api/post/' + $routeParams.id + '/editComment/' + comment._id, $scope.comment).success (data) ->
    $scope.post = data.post

Donc, selon la documentation AngularJS $http.post('/someUrl', data).success(successCallback);

Mais je ne sais pas comment trouver ces données dans node.js express.Je ne peux utiliser que bodyParser, qui analyse uniquement les données sous forme.

app.put '/api/post/:id/editComment/:cid' = (req, res) ->
  id = req.params.id;
  cid = req.params.cid;
  console.log req
  Post.findById id, (err, post) ->
    unless err
      comment = post.comments.id(cid)
      console.log req.body
      comment.text = req.body.text
      post.save (err1) ->

Alors, comment puis-je transmettre et récupérer des données ?

app.cofiguration :

app.configure "development", ->
  app.use express.bodyParser()
  app.use express.methodOverride()
  app.use express.static(__dirname + '/public')
  app.use express.errorHandler(
    dumpExceptions: true
    showStack: true
  )

Et voir le fichier https://gist.github.com/3189377

Était-ce utile?

La solution

Erreur de syntaxe $scope.comment devrait être juste comment:

$scope.changeComment = (comment) ->
  $http.put('/api/post/' + $routeParams.id + '/editComment/' + comment._id, comment).success (data) ->
    $scope.post = data.post
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top