用Angular的HTTP服务以JSON方式获取数据

解决问题:

使用AngularJS默认的HTTP发送数据给PHP的时候,PHP无法通过$_POST获取传过来的数据。

  1. service.js中的写法

    1
    2
    3
    4
    5
    6
    7
    angular.module('starter.services', []).factory('DataApi', function($http) {
    return {
    login: function(data) {
    return $http.post('url', { 'name': data.name, 'password': data.password } );
    },
    }
    });
  2. controller.js中的写法

    1
    2
    3
    4
    5
    $scope.doLogin = function() {
    DataApi.login($scope.loginData).success(function(resp) {
    /* express code */
    });
    };
  3. app.js中的写法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']).config(function($httpProvider) {
    $httpProvider.defaults.transformRequest = function(obj) {
    var str = [];
    for (var p in obj) {
    str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }
    return str.join(",");
    };
    $httpProvider.defaults.headers.post = {
    'Content-Type': 'application/x-www-form-urlencoded'
    }
    })
文章目录
  1. 1. 解决问题:
,