Javascript 通过将文件上载到ASHX处理程序实现SSE(服务器发送的事件)

Javascript 通过将文件上载到ASHX处理程序实现SSE(服务器发送的事件),javascript,c#,jquery,Javascript,C#,Jquery,我希望实现以下目标: 使用Jquery从UI调用ASHX hanlder。 将文件上载到此ASHX处理程序。 当上传完成后,我想继续从服务器向UI SSE发送消息,告诉用户ASHX处理程序中代码的执行状态。 我坚持上面提到的第三点 以下是我编写的UI代码: var file = $("input#importFileInputHidden")[0].files[0]; var formData = new FormData(); formData.append('f

我希望实现以下目标:

使用Jquery从UI调用ASHX hanlder。 将文件上载到此ASHX处理程序。 当上传完成后,我想继续从服务器向UI SSE发送消息,告诉用户ASHX处理程序中代码的执行状态。 我坚持上面提到的第三点

以下是我编写的UI代码:

     var file = $("input#importFileInputHidden")[0].files[0];
     var formData = new FormData();
     formData.append('file', file);

     importAjaxCall = $.ajax({
        xhr: function () {
            var xhr = new window.XMLHttpRequest();
            $('#progressBar').show();

            //Method to show the progress of the file being uploaded
            xhr.upload.addEventListener("progress", function (evt) {
                if (evt.lengthComputable) {
                    var percentComplete = Math.round((evt.loaded / evt.total) * 100);
                    $('#percentageImportComplete').text('' + percentComplete + '%');
                    $('#importStatus').css('width', percentComplete + '%');
                }
            }, false);

            return xhr;
        },
        type: 'post',
        url: "Handler.ashx",
        data: formData,
        processData: false,
        contentType: false,
        success: function (data) {
            //Some code to show success status to user
    });

如何捕获我从服务器发送的消息?

必须尝试查看http请求的responseText属性

success: function () {
            console.log(xhr.responseText);
    });

你试过这个吗?完成:函数a,b,c{//console.loga;//console.logb;//console.logc;}请看,如果一致意见是否定的,则不应该!你好是的,我尝试了上面的方法,但是只有当HTTP请求完成时,才会执行成功。在我的例子中,我希望继续ping UI关于HTTP请求的执行状态。如何实现这一点。?如果请求完成,您如何向ui返回一些消息?我不确定这是否能以某种方式做到。。