Запуск на сервере rails, когда я делаю вызов ajax, отправив форму, форма проходит через 3 раза. На этом рисунке показано, что 3 не удалось, но были ли они неудачными или успешными, они выполняются 3 раза. RequireJS Ajax называется слишком большим
Когда я забираю:
require(['/assets/monitor/monitor'], function(Monitor){
var monitor = new Monitor();
monitor.initial();
});
она перестает работать полностью. Когда я забираю только:
var monitor = new Monitor();
monitor.initial();
это делает 1 ajax звонок.
Почему аякс все еще вызывается, когда я не вызываю экземпляр файла монитора?
main.js
requirejs.config({
baseUrl: './',
paths: {
'jquery': '/assets/monitor/lib/jquery-1.10.2.min',
'jquery-ui': '/assets/jquery-ui-1.10.2.custom.min',
'async': '/assets/monitor/lib/async',
'bootstrap': '/assets/monitor/lib/bootstrap',
'underscore': '/assets/monitor/lib/underscore',
'datatables': '/assets/monitor/lib/jquery.dataTables.min',
'DT_bootstrap': '/assets/monitor/lib/DT_bootstrap'
},
shim: {
'jquery': {
exports: '$'
},
'async': {
exports:'async'
},
'bootstrap': {
deps: ['jquery']
},
'underscore': {
exports: '_'
},
'datatables': {
deps: ['jquery']
},
'DT_bootstrap': {
deps: ['datatables']
}
}
});
require(['/assets/monitor/monitor'], function(Monitor){
var monitor = new Monitor();
monitor.initial();
});
monitor.js
define(['jquery', 'async', 'bootstrap'], function($, async, jQuery) {
var Monitor = function() {};
// Kicks off the file
Monitor.prototype.initial = function() {
var hostname = 'http://somehostthatworks';
var portNumber = 'some port that works';
var contentType = 'JSON';
var versionNumber = '1.1';
this.receiveMonitor(hostname, portNumber, contentType, versionNumber);
};
...
Monitor.prototype.recieveMonitor = function(hostname, portNumber, contentType, versionNumber) {
$("form").submit(function() {
//Some ajax that works when form is submitted.
});
};
...
});
application.js
// Call requireJS and main.js
//= require ./monitor/lib/require
//= require ./monitor/main