total.js - 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));
});
你能告诉我错误是什么吗?
解决方案
您忘记发送数据:
AJAX('POST /users/', YOUR_DATA, function (value) {
console.log(value);
});
顺便说一句:代码在您的架构中不好。您需要使用架构中定义的字段,然后一切都变得更加简单:
schema.setInsert(function ($) {
DB('users').insertOne($.clean(), $.callback);
});
从例子中学习:
推荐阅读
- javascript - 您如何将注册表单数据发布到服务器 URL。以及将用户重定向到不同的站点,例如感谢页面。使用 javascript 或 ajax
- r - 如何按ID合并表格,然后合并具有相同ID的单元格
- c++ - 对唯一 Ptr 无效读取的引用向量
- javascript - 角度动画:动画父元素和子元素
- r - 如何从向量 2 中的数字中删除向量 1 中的数字
- java - 测试日志输出 Java Spring
- ios - 在 Ionic 3 应用程序中检测 iOS 设备的取消事件
- laravel - 如果在 Laravel 和 VueJs 应用程序中没有添加图像,如何更新记录
- haskell - 列表推导中的守卫不会终止无限列表?
- c# - Nuget 包 - 部署后的提示路径?