java - 如何在ajax中发送多部分请求?

标签 java javascript ajax servlets

给定的代码我需要上传 zip 文件,因此我需要从 ajax 向服务器发送多部分请求。但是服务器获取请求为空值如何解决这个问题?有什么想法可以向服务器发送请求吗?

function importNow(serverURL, parameters) {
        document.body.style.cursor = "wait";
        $.ajax({
            url: serverURL,
            data: parameters,
            processData: false,
            contentType: false,
            type: "POST",
            cache: false,
            dataType: "text",
            success: function(data) {
                if ($.trim(data) === "Success") {
                    updateStatusMessage("success", "Import scenario successfully");
                } else {
                    updateStatusMessage("failure", $.trim(data));
                }
                document.body.style.cursor = "default";
            },
            async: false
        });
    }

    function importScenario() {
        //window.location.href = clientURL + "/common/jsp/import.jsp";
        var serverURL = "http://localhost:8080/bwsim/UploadScenario";
        var parameters = "requestType=Import&subRequestType=importScenario&userName=" + userName ;
         refButton = '<form id="importForm" class="userInputForm" enctype="multipart/form-data">' +
         '<input id="file" name="file" type="file" />' +
         '</form>';
         document.getElementById("popupDiv").innerHTML = refButton;
         $("#popupDiv").dialog({
             title: "Import Scenario",
             draggable: true,
             bgiframe: true,
             modal: true,
             width: 500,
             heigth: 100,
             show: {effect: 'blind', duration: 500},
             hide: {effect: 'fade', duration: 1000},
             zIndex: 1000,
             buttons: {
                 'Upload': function() {
                     if ($("#importForm").valid()) {
                         parameters; 
                         importNow(serverURL, parameters);
                         $(this).dialog("close");
                     }
                 },
                 'Cancel': function() {
                     $(this).dialog("close");
                 }
             }
         });
    }

最佳答案

您可以通过 jquery ajax form plugin 轻松实现.使用此插件,您可以通过 ajax 调用轻松发送额外的 $_POST 数据以及表单。

关于java - 如何在ajax中发送多部分请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26316556/

相关文章:

Java数组的有效使用/替代

java - 如何将图标从 JLabel 转换为 BufferedImage?

java - 如何通过 java 将 JSON 插入到 Postgres 中?

javascript - CSS 移动菜单平滑滚动在父级固定时暂时禁用

javascript - 如果我将一个数组传递给 JS 函数,它似乎不会修改该数组。难道不应该通过引用传递吗?

javascript - Return 语句在 ajax 响应之前执行

javascript - IE11 : empty http request header not being passed

java - 选择第二个文本字段后 Runtime.getRuntime().exec 不起作用

javascript - 检测键是否应被视为样式或属性

javascript - AJAX 导致 700 个 Google 抓取错误?