2013-09-11 4 views
2

Я хочу отправить электронное письмо при отправке формы в мое приложение AngularJS.Отправить PHP-почту с 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: [email protected]" . "\r\n"; 

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

На моей форме, я нг подать = "отправить()", и эта функция выглядит следующим образом:

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

Что я делаю неправильно?

+1

Можете ли вы выполнить console.log (responseData) вместо «error»? Это может дать больше информации для работы. – mikel

+0

Принимает ли /email.php запросы POST? – interlude

+0

Я изменил .error только с reponseData, чтобы иметь данные, статус, заголовки, config и console.log каждого из них. В результате получилось следующее: http://cl.ly/image/2v1I0j070J0G – dgsunesen

ответ

0

Итак ... следующие работы:

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

Но если я использую $ http.post угловой метод, он не работает - я только получаю это: http://cl.ly/image/2n0Z0o231l0v --- Запроса метод «неопределенный». Почему это?

0

Возможно ли, что у вас есть опечатка? Angular's $http ожидает method ключ, а не type ключ.

У вас также есть методы быстрого доступа (например, $http.post), которые могут помешать вам совершить такую ​​ошибку.

Смежные вопросы