簡體   English   中英

我正在嘗試通過angular發送電子郵件。 我是否以正確的方式處理此問題?

[英]I am trying to send an email via angular. Am I approaching this in the correct manner?

我只是想學習新東西。 我希望能夠使用angular和php發送電子郵件。 我正在將表單數據變成一個對象。 然后,我想將此對象作為變量發送,並將數據發送到php文件。 我能夠創建變量,但是我不相信數據是在php文件中設置的。 我在這里想念什么?

 angular.module('app', []); var vm = this; var url = '/contact-form-handler.php'; vm.codeStatus = ""; vm.form = {}; vm.submit = function($event) { $event.preventDefault(); console.log(this.form); $http({ method: "POST", url: url, data: vm.form, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }). success(function(result) { console.log(result); console.log('hit'); }). error(function(result) { console.log('error'); }); return false; }; 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <?php header('Access-Control-Allow-Origin: *'); if (isset($_POST["data"])) { $from = 'Portfolio'; $to = 'rafael.heard@gmail.com'; $subject = 'Portfolio Inquiry'; $body = $_POST['data']; mail($to, $subject, $body, $from); $result = 'mail sent'; }else{ $result = 'not set'; } ?> <div ng-app="app" ng-controller="MainController as main"> <form role="form" name="contactForm" ng-submit="main.submit($event)" required novalidate> <div class="form-groups"> <div class="group"> <input type="text" name="username" ng-model="main.form.name" placeholder="Name (required)" required /> </div> <div class="group"> <input type="email" name="userEmail" ng-model="main.form.email" placeholder="Email (required)" required /> </div> <div class="group"> <textarea type="text" name="message" ng-model="main.form.message" ng-minlength="10" rows="10" required></textarea> </div> <button>Send</button> </div> </form> 

我想通了。 我在我的php文件和尖角http中更改了方法。 我序列化了對象。

  var url = 'contact-form-handler.php'; vm.codeStatus = ""; vm.form = {}; vm.submit = function($event) { // $event.preventDefault(); console.log($.param(vm.form)); $http({ method: "POST", url: url, data: $.param(vm.form), headers: {'Content-Type': 'application/x-www-form-urlencoded'} }). success(function(result) { console.log(result); }). error(function(data) { console.log('not sent'); }); return false; }; }]); 
 <?php header('Access-Control-Allow-Origin: *'); if (isset($_POST["subject"])) { $name = $_POST['name']; $subject = $_POST['subject']; $from = $_POST['email']; $message = $_POST['message']; $to = 'rafael.heard@gmail.com'; mail($to, $subject, $message, $from); }else{ echo 'not set'; } ?> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM