gpt4 book ai didi

jquery - Jquery插件.Net的成功回调在哪里

转载 作者:行者123 更新时间:2023-12-01 04:17:03 24 4
gpt4 key购买 nike

我正在尝试使用上传 jquery 控件。下面的代码成功连接到我的 ASP.Net 处理程序并处理文件。处理后我需要将一串数据发送回客户端。

Here is the example我正在下类..

我遇到了一些问题..

1) 如何从处理程序将数据发送回客户端

2)是否有人熟悉了解在哪里可以捕获处理程序成功的代码。我也没有看到 OnComplete、done 订阅方法。

这是我的处理程序..

  public class FileUpload : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{

if (context.Request.Files.Count == 0)
{

LogRequest("No files sent.");

context.Response.ContentType = "text/plain";
context.Response.Write("No files received.");

}
else
{

HttpPostedFile uploadedfile = context.Request.Files[0];

string FileName = uploadedfile.FileName;
string FileType = uploadedfile.ContentType;
int FileSize = uploadedfile.ContentLength;

LogRequest(FileName + ", " + FileType + ", " + FileSize);

string theName=uploadedfile.FileName.Substring(uploadedfile.FileName.LastIndexOf('\\'));

uploadedfile.SaveAs(HttpContext.Current.Server.MapPath("/Upload") + theName);

context.Response.ContentType = "text/plain";
context.Response.Write("{\"name\":\"" + FileName + "\",\"type\":\"" + FileType + "\",\"size\":\"" + FileSize + "\"}");

context.Response.Write("Hi From Handler");
}

}

public bool IsReusable
{
get
{
return false;
}
}

这是我的客户端代码..

 <script>
/*global $ */
$(function () {
$('#file_upload').fileUploadUI({
url: 'FileUpload.ashx',
method: 'POST',
uploadTable: $('#files'),
downloadTable: $('#files'),
buildUploadRow: function (files, index) {
return $('<tr><td>' + files[index].name + '<\/td>' +
'<td class="file_upload_progress"><div><\/div><\/td>' +
'<td class="file_upload_cancel">' +
'<button class="ui-state-default ui-corner-all" title="Cancel">' +
'<span class="ui-icon ui-icon-cancel">Cancel<\/span>' +
'<\/button><\/td><\/tr>');
},
buildDownloadRow: function (file) {
return $('<tr><td>' + file.name + '<\/td><\/tr>');
},
parseResponse: function (data) {
alert("yo");
}
});
});

</script>

最佳答案

1) How to I send data back to the client from a Handler

您的做法似乎是正确的,只需将其写入响应流即可。

2) Is anyone familiar to understand where to catch the code on the Handlers success. I dont see an OnComplete, done method to subscribe too.

我没有使用过 fileUploadUI插件,但根据文档,send 方法返回一个 jqXHR 对象,您应该能够将其绑定(bind)到成功函数

这是文档中的片段

var jqXHR = $('#fileupload').fileupload('send', {files: filesList})
.success(function (result, textStatus, jqXHR) {/* ... */})
.error(function (jqXHR, textStatus, errorThrown) {/* ... */})
.complete(function (result, textStatus, jqXHR) {/* ... */});

编辑:
应该有两种方法可以绑定(bind)到回调,要么通过选项对象传递它们,要么稍后将事件监听器绑定(bind)到小部件元素。

例如:

 $('#fileupload').fileupload({
always: function (e, data) {
//the jqXHR is a property of the data object
},
//rest of the options
});

关于jquery - Jquery插件.Net的成功回调在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13994541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com