とあるAngularJSの書籍から、サンプルをダウンロードして動作確認をしました。
内容は$httpを使用した非同期通信のプログラムです。
Jsファイル
<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF-8" /> <title>AngularJS</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular-mocks.js"></script> <script src="scripts/http.js"></script> </head> <body ng-controller="MyController"> <form name="myForm" novalidate> <label for="name">名前:</label> <input id="name" name="name" type="text" ng-model="name" /> <button ng-click="onclick()">送信</button> </form> <div>{{result}}</div> </body> </html>
PHPファイル
<?php $n = $_GET['name']; //$n = $_POST['name']; if (empty($n)) { header('HTTP/1.1 500 Internal Server Error'); } else { print('こんにちは、'.$n.'さん!'); }
最初にChromeで開いたら動かなかったので、調べたところChromeではローカルファイルの通信に制限が掛かっているとのことでした。
なのでFireFoxでやってみましたが、以下が出力されてしまいます。
<?php $n = $_GET['name']; //$n = $_POST['name']; if (empty($n)) { header('HTTP/1.1 500 Internal Server Error'); } else { print('こんにちは、'.$n.'さん!'); } /* $data = json_decode(file_get_contents('php://input'), true); if (empty($data['name'])) { header('HTTP/1.1 500 Internal Server Error'); } else { print('こんにちは、'.$data['name'].'さん!'); } */
どうすればいいか、お知恵をお貸しください。
よろしくお願い致します。