2014-06-20 6 views
5

Desidero inviare una richiesta POST (non GET) al server con ember.js. Non so quale funzione mi serve a "quale funzione qui", ma voglio inviarlo al server per una richiesta di accesso.come inviare la richiesta di posta con ajax in ember.js?

App.LoginController = Ember.ObjectController.extend({ 
    actions: { 
    userLogin: function(user) { 
     // which function here? 
     ?? ("http://siteurl/api/authentication/login/&username=" + user.username + "&password=" + user.password + ""); 
     this.transitionTo('cat'); 

    }, 

    cancelLogin: function() { 
     this.transitionTo('menu'); 
    } 
    } 
}); 

App.UserFormComponent = Ember.Component.extend({ 
    actions: { 
    submit: function() { 
     this.sendAction('submit', { 
     username: this.get('username'), 
     password: this.get('password') 
     }); 
    }, 

    cancel: function() { 
     this.sendAction('cancel'); 
    } 
    } 
}); 

quaggiù codice del modello

<script type="text/x-handlebars" data-template-name="login"> 
     <header class="bar bar-nav"> 
      <h1 class="title">inloggen</h1> 
      {{#link-to 'menu' class="icon icon icon-bars pull-right"}}{{/link-to}} 
     </header> 
     <!-- SHOW LOADER --> 
     <div class="content"> 
     <div class="content-padded"> 
     {{user-form submit="userLogin" cancel="cancelLogin" submitTitle="login"}} 
     </div> 
    </script> 

    <script type="text/x-handlebars" data-template-name="components/user-form"> 
    <form {{action "submit" on="submit"}}> 
    <p><label>gebruikersnaam {{input type="text" value=username}}</label></p> 
    <p><label>wachtwoord {{input type="password" value=password}}</label></p> 
    <input type="submit" class="btn btn-primary btn-block" {{bindAttr value=submitTitle}}> 
    <button class="btn btn-negative btn-block" {{action "cancel"}}>Cancel</button> 
    </form> 
    </script> 

risposta

8

Ember non ha costruito nel livello di comunicazione, è possibile utilizzare jQuery per tali chiamate.

App.LoginController = Ember.ObjectController.extend({ 
    actions: { 
    userLogin: function(user) {  
     $.ajax({ 
     type: "POST", 
     url: "http://siteurl/api/authentication/login/&username=" + user.username + "&password=" + user.password, 
     data: { name: "John", location: "Boston" } 
     }) 
     this.transitionTo('cat'); 

    }, 

    cancelLogin: function() { 
     this.transitionTo('menu'); 
    } 
    } 
}); 
+2

È meglio utilizzare ember-ajax ora. –

+0

Sì, ember ajax è una soluzione migliore: è qui: https://github.com/ember-cli/ember-ajax – Rimian