2017-01-20 17 views
0

連絡先フォームからメッセージを送信しようとすると、コンソールにPOST 405(Not Allowed)が表示されます。AngularJS + PHPの連絡フォーム、POST 405(Not Allowed)

App.js

$scope.submitData = function() { 
    $http({ 
    url: 'handle.php', 
    method: 'POST', 
    data: {"name": $scope.name,"email": $scope.email,"message": $scope.message}, 
    headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 
    }) 
    .success(function() { 
    window.alert("Success"); 
    }) 
    .error(function() { 
    window.alert("Failure"); 
    }) 
} 

Handle.php

$json = file_get_contents("php://input"); 
$data = json_decode($json, true); 

$to = "[email protected]"; 
$name = $data['name']; 
$email = $data['email']; 
$message = $data['message']; 

//to, subject, message, headers, parameters. 
mail($to, $name, $email, $message); 
?> 

Contact.html

<form action="" method="post" ng-submit="submitData()" ng-controller="contactController"> 
<p>name:</p> 
<input name="name" type="text" ng-model="name"> 
<p>email:</p> 
<input name="email" type="text" ng-model="email"> 
<p>message:</p> 
<textarea name="message" type="text" cols="40" rows="5" ng-model="message"></textarea> 
<p><div id="html_element"></div><p> 
<input type="submit" id="submit" value="Submit"/> 
</form> 

私はラズベリーパイにnginxのWebサーバーを実行していますよ。

handle.phpは正しいですか?

このエラーは、サーバー上に何かが設定されていないことを意味します。設定する必要があるのは何ですか?

私は助けていただきありがとうございます。

答えて

0

他のサーバーにajaxを呼び出すためにプラグインをインストールする必要があると思います。これをダウンロードしてみて、それが役立つことがあります。 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

をインストール後、プラグインをクリックし、追加し、URL: https://developer.chrome.com/extensions/match_patterns してからもう一度お試しください。

関連する問題