如何在Total JS中使用AJAX函数?

时间:2019-12-17 06:02:50

标签: total.js

我有一个用户表单,我正在尝试进行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));
    });

能不能让我知道是什么错误?

1 个答案:

答案 0 :(得分:1)

您忘记发送数据了:

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

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

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

从示例中学习: