Функциональный объект в JavaScript - это одно. Вызов функции - это другое дело. Вы используете последний, включив круглые скобки после имени функции *, но вам нужен первый, без круглых скобок. Это позволяет setTimeout
позже вызвать эту функцию, используя переданный объект. Предполагая, что вам действительно нужно 5 секунд (а не 50 секунд, которые использовал исходный код):
setTimeout(GetUsersNumber, 5000);
* Действительно, любая старая переменная, содержащая объект функции, может быть вызвана так, но для удобства определение функции также определяет имя переменной для нее.
Вы получили опечатку в своем коде, забыли набрать '()' после 'new FormData'
var formData = new FormData();
// or
var formData = new FormData(document.getElementById('singleQuestionCSVForm'));
Я понял это, я помню, как в прошлом пытался это сделать, jQuery не любит FormData с использованием метода $ .post (), вместо этого нужно использовать $ .ajax ()!
Здесь вы забыли правильно создать объект. Потому что вы забыли добавить ()
var formData = new FormData;
Это должно измениться с FormData ();
var formData = new FormData();