JQuery Form Plugin File Upload przy użyciu przekierowań POST do odpowiedzi POST

Proszę, pomóżcie chłopaki, ten jest głównym BLOCKEREM!

Mam projekt korzystający z NodeJS +Wtyczka jQuery Form + Maszynopis, w którym próbuję przesłać plik. Po przesłaniu pliku serwer wysyła odpowiedź na wiadomość POST, która wyświetla się na ekranie. Plik zostanie przesłany pomyślnie i całkowicie, zanim odpowiedź POST wyświetli się na ekranie. Oczekuję, że odpowiedź POST wywoła funkcję „sukces” zamiast przekierowania strony, aby wyświetlić odpowiedź JSON.

Oto kod:

$(new ID().setAsRoot().selectId()).append(
    "<form id=\"fileUploadForm\" accept-charset=\"utf-8\" method=\"post\" action=\"/upload\" enctype=\"multipart/form-data\">" +
        "<input id = \"filename\" type=\"file\" name=\"userfile\" multiple=\"multiple\" />" +
        "<button type=\"submit\" id = \"submitButton\"> Upload </button></form>");

var form = $("#fileUploadForm");
form.submit(function (e) {
    //e.preventDefault();
    this.ajaxSubmit({
        type: form.attr('method'),
        url: form.attr('action'),
        data: form.serialize(),
        success: function (data) {
            var x = JSON.parse(data);
            alert("Success : " + x);
        },
        error: function (data) {
            var x = JSON.parse(data);
            alert("Error : " + x);
        }
    });
});

funkcja powodzenia nie jest wywoływana (co oznacza, że ​​komunikat alertu nie jest wyświetlany). Dane JSON są właśnie renderowane na ekranie w następujący sposób:

{
  "path": "data\\cb3409f1cc234ec3f64b60d80be13a3e.html",
  "name": "feed.html"
}

W konsoli występuje błąd, który mówi:

Uncaught SyntaxError: Unexpected token : shortcut_manager.js:123
(anonymous function) shortcut_manager.js:123
(anonymous function) extensions::messaging:327
Event.dispatchToListener extensions::event_bindings:386
Event.dispatch_ extensions::event_bindings:371
Event.dispatch extensions::event_bindings:392
dispatchOnMessage

Oto kod po stronie serwera, który go obsługuje. Serwer wykorzystuje potężny moduł NodeJS.

public upload(req:express.Request, res) {

        var form = new formidable.IncomingForm();
        var originalFileName:String;
        var filePath:String;
        form.uploadDir = this.directory;
        form.keepExtensions = true;
        form.type = 'multipart';
        var fields = [];
        form
            .on("error", function (err) {
            })
            .on("field", function (field, value) {
            })
            .on("end", function () {
                res.send({
                    path: filePath,
                    name: originalFileName
                });
            })
            .on("file", function (name, file:formidable.File) {
                originalFileName = file.name;
                filePath = file.path;
            });
        form.parse(req);
        return;
    }

--Aktualizacja--

Jeśli zrobię$.ajax zamiastthis.ajax. Plik nie zostanie przesłany. Konsola przeglądarki pokazuje błąd:

XMLHttpRequest cannot load http://localhost/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. 

questionAnswers(5)

yourAnswerToTheQuestion