2016-07-17 8 views
0

メールを送信するためのフォームを作成しました。機能を送るNGクリックNodeJSと角でメールを送信

<div class="col-xs-6 col-md-6 form-group"> 
    <input class=" form-control " requried style="border-radius:20px" ng-model="name" name="name" type="text" /> 
</div> 
<div class="col-xs-6 col-md-6 form-group"> 
    <input class="form-control border-radius" required style="border-radius:20px" id="email" name="email" type="email" ng-model="email" /> 
</div> 
</div> 
<textarea class="form-control" id="message" style="border-radius:20px" name="message" rows="5" ng-model="message"></textarea> 
<br /> 
<div class="row"> 
    <div class="col-xs-12 col-md-12 form-group"> 
    <button ng-click="send(ngCart.getCart().items,message,email,name)" id="send_email" class="btn btn-primary pull-right btn-color" type="submit" style="border-radius:20px">send</button> 
    </div> 
</div> 

コントローラで次のようになります:それはこのようなものである

$scope.send = function (items, message, email, name) { 

      if (email == undefined) { 
       alert("Error!") 
      } 
      else 
      { 
       var data = email; 
       var config = { 
        headers: { 
         'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' 
        } 
       } 

       $http.post('/send', data, config) 
        .success(function (data, status, headers, config) { 
         $scope.PostDataResponse = data; 
         console.log("Is working", data, status, headers, config); 
        }) 
        .error(function (data, status, header, config) { 
         $scope.ResponseDetails = "Data: " + data + 
          "<hr />status: " + status + 
          "<hr />headers: " + header + 
          "<hr />config: " + config; 
        }); 
      } 


     }; 
    }]) 

とNodeJSに私は次のしている:今

app.post('/send', function(req,res){ 
    console.log("Api Req: ",req); 
    console.log("Api Res: ",res); 
    var mailOptions={ 
     from : "[email protected]", 
     to : "[email protected]", 
     subject : "Your Subject", 
     text : "Your Text", 
     html : "HTML GENERATED" 
    } 
    console.log(mailOptions); 
    smtpTransport.sendMail(mailOptions, function(error, response){ 
     if(error){ 
      console.log(error); 
      res.end("error"); 
     }else{ 
      console.log(response.response.toString()); 
      res.end("sent"); 
     } 
    }); 
}); 

問題はNodeJSにあります。私は、角度関数(ngCart.getCart()。items、message、email、name)で送信したいデータをreqまたはresで見ることができません。

EDIT: localhost/sendにアクセスしたときに、上記の固定データでメールを送信しますが、送信機能からデータを取得できないため、理由を特定できません。

答えて

0

リクエストペイロードはreq.bodyにあります。

+0

http://pokit.org/get/img/b716cb51ffd72260d6ec737cb1ce3451.jpgいいえ:/ – AlCode

+0

[OK]を、私はそれは、体が、それがこの形式であるが知って返し、それを考え出した: ボディ{「{」 formdata ":{" email ":" [email protected] "、" message ":" asdasd "}、" cart ":[{" _ id ":" 2 "、" _ name ":" asdadasd "、" _ price " :9.99、 "_ quantity":1}]}: ':' '} は文字列のようですが、なぜjsonに解析しませんでしたか? – AlCode

関連する問題