Javascript 在执行ajax post时在服务器上上载了多个文件,但没有使用XMLHttpRequest()post上载?

Javascript 在执行ajax post时在服务器上上载了多个文件,但没有使用XMLHttpRequest()post上载?,javascript,jquery,ajax,xmlhttprequest,Javascript,Jquery,Ajax,Xmlhttprequest,正在使用ajax()和XMLHttpRequest()执行POST操作。Ajax来自HTML表单本身,其中as XMLHttpRequest()使用javascript。下面是两个请求的代码 XMLHttpRequest()客户端代码: multiUpload(uploadFiles){ return new Promise((resolve, reject)=> { var uploadFormData = n

正在使用ajax()和XMLHttpRequest()执行POST操作。Ajax来自HTML表单本身,其中as XMLHttpRequest()使用javascript。下面是两个请求的代码

XMLHttpRequest()客户端代码:

multiUpload(uploadFiles){                       
        return new Promise((resolve, reject)=> {
        var uploadFormData = new FormData();
        var i=0;

        for(i=0; i < uploadFiles.length ; i++){          
                uploadFormData.append('uploadFiles', uploadFiles[i]);
            }

            var xhr = new XMLHttpRequest();   
                 xhr.open('post', MULTI_FILE_UPLOAD_URL , true);

            xhr.onload = function () {
              if (this.status == 200) {     
                    console.log("Resolve done !!!");            
                    resolve(this.response);
                 } else {
                        console.log("Reject done !!!");
                        reject(this.statusText);
                }
                };
                console.log(uploadFormData);    
                xhr.send(uploadFormData);
            });
        }
XMLHttpRequest()和ajax调用的服务器端代码:

<form id="uploadForm" enctype="multipart/form-data" action="/api/photo" method="post">
      <input type="file" name="userPhoto" multiple />
             <!-- Input form goes here -->
</form>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.form/3.51/jquery.form.min.js"></script>
        <script>
            $(document).ready(function(){
                $('#uploadForm').submit(function() {
                        $("#status").empty().text("File is uploading...");
                            $(this).ajaxSubmit({
                                error: function(xhr) {
                                    status('Error: ' + xhr.status);
                                },
                                success: function(response) {
                                            console.log(response)
                                $("#status").empty().text(response);
                            }
                            });
                        return false;
                });    
            });
        </script>
var storage =   multer.diskStorage({
         destination: function (req, file, callback) {
                callback(null, newPath);
            },
        filename: function (req, file, callback) {
                callback(null, file.originalname );
            }});

    var upload = multer({ storage : storage }).array('userPhoto');

    app.post('/multiFileUpload', function(req, res) {

         upload(req,res,function(err){
                console.log(req);
          if(err){
                console.log("Error in upoading file "+err);
            return res.send("Server Error in uploading file.");
        }
                res.send("File is uploaded successfully.");
        });
现在,当我从服务器代码在控制台中显示
req
对象时,我得到以下结果(左边是ajax调用,右边是XMLHttpRequest()调用)。实际上,我在服务器上一次上载多个文件。使用ajax调用文件正在上载,但使用XMLHttpRequest(),这不会发生,并且会出现错误。如何使用XMLHttpRequest()实现相同的结果?还有一件事,两种方式创建应用程序对象的方式是:

用于XMLHttpRequest()-

var express = require('express');
var app = module.exports = express.Router();
var express =   require("express");
var app =   express();
Ajax调用的是:-

var express = require('express');
var app = module.exports = express.Router();
var express =   require("express");
var app =   express();
那么,这是否造成了问题