Js +如何用blob将数据参数发送到servlet

时间:2016-02-07 16:49:57

标签: javascript ajax servlets

我有以下js代码将音频文件发送到servlet。我需要向servlet发送另外两个参数。以下是我目前的代码

form = new FormData(),
request = new XMLHttpRequest();
form.append("file",blob, filename);
request.open(
        "POST",
        "AudioToText",
        true
    );
request.send(form);

任何人都可以帮助我使用js代码如何在此请求中添加额外的两个参数,如id / pass以及如何在servlet中获取它们。提前谢谢。

1 个答案:

答案 0 :(得分:0)

request.open()中的第二个参数假设指向将绝对链接处理数据的文件,还有一个名为onreadystatechanged的XMLHttpRequest类型的另一个属性,它需要一个将要检查的回调查看请求是否成功

示例代码 - 忽略带有self的行,这些只是指向方法/属性的变量,并且不依赖于执行请求:

        // if an Object to connect to server was created begin transfer
        if (this.xhr) {

            var processData = function () {
                // if everything is ok carry on
                if (self.xhr.readyState === 4 && self.xhr.status === 200) {
                    if(self.responseType === "text"){
                        self.Success(self.xhr.responseText);
                    }else{
                        self.Success(self.xhr.responseXML);
                    }
                }
                // if something fails along the way else execute failure method
                else if (self.xhr.status !== 200 && self.xhr.readyState === 4) {
                // something went wrong
                }
            };


            // open connection
            this.xhr.open(this.method, this.host, true);


            // set up the connection to a method to process the data
            //noinspection JSPrimitiveTypeWrapperUsage
            this.xhr.onreadystatechange = processData;

            // send the data
            this.xhr.send(this.postData);
相关问题