2016-07-27 5 views
0

Я новичок в Ionic и angularjs. Я пытаюсь получить данные login (ng-model) (адрес электронной почты &) с страницы signin.html и вызывать API с методом POST. Но он не вызывает api. Я потратил пару дней на это. Пожалуйста, помогите мне!Данные, проходящие через контроллер в REST api

HTML

<ion-view view-title="login"> 
    <ion-component> 
    </br> 

    <div class="list list-inset"> 
    <label class="item item-input"> 
    <input type="text" placeholder="First Name" ng-model="login.firstname"> 
    </label> 
    <label class="item item-input"> 
    <input type="password" placeholder="Password" ng-model="login.password"> 
    </label> 

    <label class="item item-input"> 
    <input type="text" placeholder="E-mail" ng-model="login.email"> 
    </label> 

    <button class="button button-block button-balanced" data-ng-click="submit(login)"> 
    Login 
    </button> 
    <button class="button icon-left button-block ion-social-facebook button-positive">Login Facebook</button> 

    <button class="button icon-left button-block ion-social-googleplus button-assertive">Login Google+</button> 

    <a ng-href="#/signup"><button class="button button-clear button-positive">SignUp 
    </button></a> 
    </div> 

    </ion-component> 
    </ion-view> 

app.js

var app=angular.module('starter', ['ionic','ngCordova']) 
    app.controller('loginCtrl', function($scope,$http){ 
    $scope.data=[]; 
    // $scope.logindata = {}; 
    // console.log (login); 
    $scope.login={}; 
    //****login submit**** 
    $scope.submit=function(login){ 
    console.log(login); 
    $scope.logincontet=console.log('logindata:'+login); 
    //***api call*** 

    var local1='json={"method_name":"login","body":{"login_with":"2","facebook_id":"","email":'; 
    var local2=',"name":"",'; 
    var local3='"password":'; 
    var local4='}}'; 
    var req = 
    { 
    method: 'POST', 
    url: "http://192.168.1.23/projects/veterinary/webservice/main.php", 
    //data: 'json={"method_name":"login","body":{"login_with":"2","facebook_id":"","email":"$scope.login.email","name":"","password":"$scope.login.password"}}', 
    data:local1 + $scope.login.email + local2 + local3 + $scope.login.password +local4, 
    headers: {"Content-Type": "application/x-www-form-urlencoded"} 
    }; 

    $http(req).success(function(data, status, headers, config) 
    { 
    console.log('Success',data); 
    $scope.data=data.data; 
    //success 
    }) 
    .error(function(data, status, headers, config) 
    { 
    console.log('Error'); 
    });//error 
    //********* 
    window.location.href = "#/success.html"; 
    } 
    //***** 
    //****login api call**** 


    }); 
+0

Как получить значение ng-model с сайта signin.html и связать его с методом« post »API? –

+0

Почему вы сначала не создали правильный json-объект, без строк, а затем конвертировали его по мере необходимости .... – harishr

+0

Как вы влияете на контроллер на свой взгляд? У вас есть маршрут с определенным свойством контроллера или атрибутом ng-controller в вашем доме? Я подозреваю, что ваш контроллер не связан с представлением – Silvinus

ответ

0

Наконец я создал пост апи строку с этим ... данные: «JSON = { "method_name" : "login", "body": {"login_with": "2", "facebook_id": "", "email": "'+ $ scope.login.email +'", "name": "", "password ":" + $ сфера. login.password + '"}}',

0
app.config(function($stateProvider, $urlRouterProvider){ 
$stateProvider 

.state('login', { 
url: "/login", 
templateUrl: "templates/login.html", 
controller: 'loginCtrl' 
}) 

.state('signup', { 
url: "/signup", 
templateUrl: "templates/signup.html", 
controller: 'signupCtrl' 
}) 



// if none of the above states are matched, use this as the fallback 
$urlRouterProvider.otherwise('/login'); 

}); 
********************* 
Binding view and controller! 
Смежные вопросы