Javascript 通过将文件上载到ASHX处理程序实现SSE(服务器发送的事件)
我希望实现以下目标: 使用Jquery从UI调用ASHX hanlder。 将文件上载到此ASHX处理程序。 当上传完成后,我想继续从服务器向UI SSE发送消息,告诉用户ASHX处理程序中代码的执行状态。 我坚持上面提到的第三点 以下是我编写的UI代码: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
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返回一些消息?我不确定这是否能以某种方式做到。。