2

我想在我的 AngularJS 应用程序中提交表单时发送电子邮件。

我的 email.php 文件如下所示:

<?php
 $receiver = $_REQUEST['to'];
 $subject = "The subject";
 $message .= 'Hello';
 $header = "MIME-Version: 1.0" . "\r\n";
 $header .= "Content-type:text/html;charset=utf-8" . "\r\n";
 $header .= "From: mail@mail.com" . "\r\n";

 mail($receiver, $subject, $message, $header);
?>

在我的表单上,我有 ng-submit="submit()",这个函数看起来像这样:

var data = "to=" + $('.user-email').val();
  $scope.url = "/email.php";
  var transform = function(data) {
    return $.param(data);
  }
  $http({
    type: "POST",
    url: $scope.url,
    data: data,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    transformRequest: transform
  }).success(function(responseData) {
    Console.log('Hurray')
  }).error(function(responseData) {
    console.log('error');
  });

但是,当我按下提交按钮时,出现以下错误:http ://cl.ly/image/1k0E2O0Q3c0B

我究竟做错了什么?

4

2 回答 2

0

你有可能有错字吗?Angular 的 $http需要一个method键而不是type键。

您还拥有$http.post可以防止您犯此类错误的快捷方法(例如)。

于 2013-09-11T20:20:45.650 回答
0

所以......以下工作:

.ajax({  
   type: "POST",  
   url: "email.php",  
   data: data,  
   success: function() {  
      console.log('yessør');
   }  
 });

但是如果我使用 $http.post 角度方法,它就不起作用 - 我只得到这个:http ://cl.ly/image/2n0Z0o231l0v --- 一个“未定义”的请求方法。这是为什么?

于 2013-09-11T20:08:33.247 回答