2

我对使用 Appgyver 比较陌生,并且在尝试使用 POST 连接到远程服务器时遇到了一些问题。我不确定问题是否来自服务器端,因为没有出现关于发布成功/失败的警报。这是我的代码片段。

索引.html

<div ng-controller="IndexController">

  <super-navbar>
    <super-navbar-title>
      Index
    </super-navbar-title>
  </super-navbar>

  <div class="padding">
  <input type="text" ng-model="username" placeholder="Username">
  <input type="text" ng-model="password" placeholder="Password">
    <button class="button button-block button-positive" ng-click="getPosition()">Log in</button>
</ul>

    </div>

</div>

索引控制器.js

angular
  .module('geolocation')
  .controller('IndexController', function($scope, supersonic) {
      $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
    // Controller functionality here
      $scope.getPosition = function() {


        var data = 
        {
            'email': $scope.username,
            'password': $scope.password
        }

        $http.post('http://www.example.co.za/mobile.php', data)
        .success(function(data, status, headers, config) {
            supersonic.ui.dialog.alert('Success');
        })
        .error(function(data, status, headers, config) {
            // show error details
            supersonic.ui.dialog.alert('Epic fail');
        });
    };
  });

我服务器上的 php 文件中使用的标头是:

header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Headers: X-PINGOTHER');
header("Access-Control-Max-Age: 2520");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE, XMODIFY");
4

1 回答 1

1

现在工作,原来需要包含 $http 的函数参数。更新代码后一切正常。更新后的代码应为:

.controller('IndexController', function($scope, supersonic, $http) {

于 2015-06-12T12:11:12.820 回答