簡體   English   中英

用PHP在angular JS中實現$ http.post

[英]Implementing $http.post in angular JS with PHP

我正在嘗試將索引頁面上的聯系表中的消息,名稱和電子郵件發送到我自己的電子郵件中,但是遇到了一些麻煩。 我正在使用AngularJS。 現在,當我單擊表單上的“提交”時,它只顯示了一個加載屏幕,什么都沒有發生。 這是我目前擁有的:

HTML:

<form ng-submit="save()" class="contactForm" name="form" ng-hide="loaded" ng-controller="formCtrl">
            <input class="input" required="required" type="text" name="name" placeholder="Your Name" ng-model="message.name" />
            <input class="input email" required="required" type="email" name="email" value="" placeholder="Your Email" ng-model="message.email" /><br />
            <textarea class="textarea" rows="5" required="required" placeholder="Your Message" ng-model="message.text" ></textarea>
            <button class="btn green">Send Message</button>
        </form>

JS:

$scope.save = function () {
      $scope.loaded = true;
      $scope.process = true;
      $http.post('sendemail.php', $scope.message).success(function () {
          $scope.success = true;
          $scope.process = false;
      });
    };

PHP(sendemail.php):

$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);

$email = $request->message.email;
$name = $request->message.name;
$message = $request->message.text;

$from="From: $name<$email>\r\nReturn-path: $email"; 
$subject="Message sent using your contact form"; 
mail("myemail@gmail.com", $subject, $message, $from); 

我也嘗試過以下php:

var_dump($_POST);die();
$_POST = json_decode($rest_json, true);

$email = $_POST["message.email"];             //$request->message.email;
$name = $_POST["message.name"];                     //$request->message.name;
$message = $_POST["message.text"];          //$request->message.text;

$from="From: $name<$email>\r\nReturn-path: $email"; 
$subject="Message sent using your contact form"; 
mail("myemail@gmail.com", $subject, $message, $from);

php應該和javascript放在同一個文件夾中嗎? 任何幫助將非常感激! 非常感謝。

您發出POST ajax請求,因此,為了使用要嘗試傳輸到PHP應用程序的數據,您需要在$ _POST數組中找到它。 在這里了解更多

更具體地說,您不需要此行$rest_json = file_get_contents("php://input");

您只需要從$_POST獲取數據。 只需使var_dump($_POST);die(); 調試其中的內容以及您需要准確解碼的內容。

暫無
暫無

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

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