我有一个用户表单,我正在尝试进行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));
});
能不能让我知道是什么错误?
答案 0 :(得分:1)
您忘记发送数据了:
AJAX('POST /users/', YOUR_DATA, function (value) {
console.log(value);
});
顺便说一句:代码在您的架构中不好。您需要使用模式中定义的字段,然后一切都变得简单得多:
schema.setInsert(function ($) {
DB('users').insertOne($.clean(), $.callback);
});
从示例中学习: