javascript - 分解为更小的功能 MVC

标签 javascript jquery ajax function

我有以下功能

 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.');

    }
}

我尝试通过以下方式执行此操作:Direction Controllers 包含带有 1 个函数的 RegisterUserController.js 文件:

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.');
   }
}

在其他方向模型中包含具有此功能的 RegisterUserModel.js 文件:

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

你猜怎么着,只有当 ajax 请求在 regusterUser 函数中时它才起作用。问题是:我怎样才能分解成更小的函数并正确运行?

提前致谢

最佳答案

这就是我创建的解决方案。我不确定这是一个好的做法。

这就是寄存器模型:

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

这里是注册用户 Controller

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();
    })
}

关于javascript - 分解为更小的功能 MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364221/

相关文章:

javascript - 将 XMLHttpRequest 转换为 JSONP

javascript - 如果无法 ping 通 URL,则更改 div 的类。 (测试站点是否关闭)

javascript - 页面加载时布局中断

javascript - jquery循环匹配和位置

javascript - 添加 if else 函数后未定义单击按钮函数

php - 使用 jquery 的 Ajax 帮助(使用 php 和 mysql)

javascript - Express.js 与 Node.js,多个客户端

javascript - 如何自定义OpenERP 6.1 WebClient HTML DOM?

javascript - 如何保存带有循环引用的对象?

javascript - 如何使用 JavaScript 在 MVC 项目中加载 View ,然后加载其中的部分 View ?