MVC

2016-12-28 1 views
1

Ich habe die folgende FunktionMVC

function registerUser(event) { 
    event.preventDefault(); 
    let userData = { 
     username: $('#formRegister input[name=username]').val(), 
     password: $('#formRegister input[name=passwd]').val() 
    }; 
    $.ajax({ 
     method: "POST", 
     url: kinveyBaseUrl + "user/" + kinveyAppKey + "/", 
     headers: kinveyAppAuthHeaders, 
     data: JSON.stringify(userData), 
     success: registerSuccess, 
     error: handleAjaxError 
    }); 
    function registerSuccess(userInfo) { 
     saveAuthInSession(userInfo); 
     showHideMenuLinks(); 
     listBooks(); 
     showInfo('User registration successful.'); 

    } 
} 

Ich versuche es in der folgenden Art und Weise zu tun: Richtung Controller enthält RegisterUserController.js mit 1 Funktion file:

function registerUser(event) { 
event.preventDefault(); 
let userData = { 
    username: $('#formRegister input[name=username]').val(), 
    password: $('#formRegister input[name=passwd]').val() 
}; 
registerUserAjaxRequest(); 
function registerSuccess(userInfo) { 
    saveAuthInSession(userInfo); 
    showHideMenuLinks(); 
    listBooks(); 
    showInfo('User registration successful.'); 
    } 
} 

In anderer Richtung Modellen enthalten RegisterUserModel.js Datei mit dieser Funktion:

function registerUserAjaxRequest() { 
$.ajax({ 
    method: "POST", 
    url: kinveyBaseUrl + "user/" + kinveyAppKey + "/", 
    headers: kinveyAppAuthHeaders, 
    data: JSON.stringify(userData), 
    success: registerSuccess, 
    error: handleAjaxError 
}}); 

Ratet mal, was es ist w orking nur wenn ajax Anfrage in der regusterUser Funktion ist. Die Frage ist: Wie kann ich in kleinere Funktionen aufbrechen und richtig laufen?

Dank im Voraus

Antwort

0

, dass die Lösung ist i erstellt haben. Ich bin mir nicht sicher, ob es eine gute Praxis ist.

, dass das Register Modell ist:

function registerUserModel(userData) { 
    return $.ajax({ 
     method: "POST", 
     url: kinveyBaseUrl + "user/" + kinveyAppKey + "/", 
     headers: kinveyAppAuthHeaders, 
     data: JSON.stringify(userData), 
     error: handleAjaxError 
    }); 
} 

Und hier ist

Benutzer-Controller registrieren
function registerUser(event) { 
    event.preventDefault(); 
    let userData = { 
     username: $('#formRegister input[name=username]').val(), 
     password: $('#formRegister input[name=passwd]').val() 
    }; 
    registerUserModel(userData).then(function (userInfo) { 
     saveAuthInSession(userInfo); 
     showHideMenuLinks(); 
     showHomeView(); 
    }) 
}