NewKidOnTheBlock
NewKidOnTheBlock

Reputation: 1511

Angular JS contact form

I'm trying to come to grips with created an angularjs Contact form. Below is a link of what I have created thus far. Click Here I fill I am on the write track with the code i have written

var app = angular.module("myApp", []);
app.controller("contactCtrl", function ($scope) {
    $scope.success = false;
    $scope.error = false;
    $scope.send = function () {
        var htmlBody ='<div>Name: ' + $scope.user.name + '</div>' +
                      '<div>Email: ' + $scope.user.email + '</div>' +
                      '<div>Message: ' + $scope.user.body + '</div>' +
                      '<div>Date: ' + (new Date()).toString() + '</div>';

        $http({
            url: 'https://api.postmarkapp.com/email',
            method: 'POST',
            data: {
                'From': '[email protected]',
                'To': '[email protected]',
                'HtmlBody': htmlBody,
                'Subject': 'New Contact Form Submission'
            },
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'X-Postmark-Server-Token': '8569dcd45-6a1a-4e7b-ae75-ea37629de4'
            }
        }).
        success(function (data) {
            $scope.success = true;
            $scope.user = {};
        }).
        error(function (data) {
            $scope.error = true;
        });
    }
});

However I am receiving two errors

error one

And also

{"error": "Please use POST request"}

Does anyone know how I can solve this issues, I've wasted too many hours trying to get my head around it?

Upvotes: 0

Views: 253

Answers (1)

Steven Weng
Steven Weng

Reputation: 322

You don't declare the $http. It should be:

app.controller("contactCtrl", ['$scope','$http',function ($scope,$http){
// your code
}]);

Upvotes: 2

Related Questions