在将新项目(停放的车辆)添加到数据库后,我试图让车把重新渲染页面。我知道用前端框架做这个会更好,但是现在我使用的是jQuery。
我不断收到的错误消息:
ui.js:18未捕获TypeError:index.getVehicles不是函数
我的index.js文件:
const app = require('./apiurl.js');
const events = require('./events.js');
const ui = require('./ui.js');
const displayVehicles = function(vehicles){
const display = require('./vehicles.handlebars');
$('.content').empty().append(display({ vehicles }));
events.addHandlers();
};
const getVehicles = function(failure) {
$.ajax({
method: 'GET',
url: app.api + '/vehicles/',
}).done(function(data){
displayVehicles(data.vehicles);
})
.fail(failure);
};
$(() => {
getVehicles(ui.failure());
});
module.exports = {
getVehicles,
displayVehicles
};
单击提交新项目按钮时调用的AJAX。 ' ui.addVehicleSuccess'作为“成功”传递进来参数。
const addVehicle = (success, failure, data) => {
$.ajax({
method: 'POST',
url: app.api + '/vehicles/',
dataType: 'json',
dataProcessing: false,
data
}).done(success)
.fail(failure);
};
[编辑 - 添加完整的ui文件,以显示我需要index.js]我的ui.js文件:
const index = require('./index.js');
const success = (data) => {
console.log(data);
};
const failure = (error) => {
console.log(error);
};
const addVehicleSuccess = (data) => {
console.log(data);
index.getVehicles();
};
module.exports = {
failure,
success,
addVehicleSuccess
};
我不知道它为什么说index.getVehicles不是一个函数。它适用于页面加载,而不是在添加项目时重新加载。任何帮助将不胜感激。