首页 > 解决方案 > Total js中如何使用AJAX功能?

问题描述

我有一个用户表单,我正在尝试做一个 POST。带有模式的早期代码可以工作。我现在正在适应 AJAX,但我不知道它为什么不起作用。没有错误。

下面是 users.html 文件中的代码片段

</div>
            <div class="btn" role="group">
                <button type="button" name="submit" id="Submit" class="btn btn-primary" onclick="onSubmit()">Submit</button>
            </div>
            <div class="btn" role="group">
                <input class="btn btn-warning" type="reset" value="Reset">
            </div>
        </form>
        <script type="text/javascript">
            function onSubmit() {
                console.log("Ajax Testing");
                AJAX('POST /users', function (value, err, response) {
                    if (err) { throw err };
                    console.log(value);
                    console.log(response);
                });
            };
        </script>

这是 default.js 文件中的路由部分

exports.install = function () {
    ROUTE('GET  /', displayHome);
    ROUTE('GET  /{userId}   *userSchema --> @query');
    ROUTE('GET  /homepage', displayHome);
    ROUTE('POST /users      *userSchema --> @insert');

下面是插入操作的架构

schema.setInsert(function ($) {
        var userDB = DATABASE('users');
        userObj = {
            name: $.controller.body.name,
            age: $.controller.body.age,
            height: $.controller.body.height,
            email: $.controller.body.email,
            gender: $.controller.body.gender,
            cities: $.controller.body.cities,
            landline: $.controller.body.telephone,
            about: $.controller.body.aboutMe
        };
        userDB.insertOne(userObj, function (err, result) {
            if (err) throw err;
            console.log("Created New user using Schema Definition" + result);
            $.controller.view('homepage');
        }.bind($.controller));
    });

你能告诉我错误是什么吗?

标签: total.js

解决方案


您忘记发送数据:

AJAX('POST /users/', YOUR_DATA, function (value) {
    console.log(value);
});

顺便说一句:代码在您的架构中不好。您需要使用架构中定义的字段,然后一切都变得更加简单:

schema.setInsert(function ($) {
    DB('users').insertOne($.clean(), $.callback);
});

从例子中学习:


推荐阅读