如何使用asp.net WebMethod处理FormData AJAX帖子(带有附加参数
发布时间:2020-12-16 03:34:47 所属栏目:asp.Net 来源:网络整理
导读:无法将FormData的jQuery AJAX帖子处理到ASP.net 4 Web服务WebMethod. input id="ipt_file" type="file" /a href='#' onclick="UploadFile();" data-role='button'Upload/a var UploadFile = function () { var file_object = $('#ipt_file')[0].files[0]; va
无法将FormData的jQuery
AJAX帖子处理到ASP.net 4 Web服务WebMethod.
<input id="ipt_file" type="file" /> <a href='#' onclick="UploadFile();" data-role='button'>Upload</a> var UploadFile = function () { var file_object = $('#ipt_file')[0].files[0]; var form_data = new FormData(); form_data.append('job_id','123456'); form_data.append('job_name','xyx'); form_data.append('job_file',file_object); var xhr_upload = $.ajax({ type: "POST",headers: { "Cache-Control":"no-cache","Content-Type":"multipart/form-data" },// also tried without these url: "../MyServices.asmx/Upload",data: form_data,processData: false,contentType: false,dataType: "json",success: function (msg) { if (typeof (msg) === "object") { var _upload = $.parseJSON(msg.d); alert(_upload.status + ': ' + _upload.msg); }; } }); }; public class FileUploadRequest { public string job_id { get; set; } public string job_name { get; set; } public HttpPostedFile job_file { get; set; } } [WebMethod] public string Upload(FileUploadRequest x) { string str_response = string.Empty; if (x.job_file.ContentLength > 0) { str_response = "{"status":1,"msg":"" + x.job_id + "," + x.job_name + "," + x.job_file.FileName + ""}"; } else { str_response = "{"status":0,"msg":"FAIL"}"; }; return str_response; } 不能正确处理FormData对象参数;在这里我实例化了一个自定义类,但是我从服务器返回的所有内容都是500个错误(也尝试了一个通用对象x).还尝试将其作为HttpRequest对象处理,就像我在一些帖子中看到的那样,无济于事.在这种情况下不关心IE 9的不兼容性;只想查看单个文件上传或至少一个具有由asmx WebMethod正确接收的键/值对的FormData对象. 解决方法
我确实让它使用以下代码,以防有人想看到它:
var upload_file = $('#ipt_file')[0].files[0]; var upload_filename = upload_file.name; var upload_maxsize = 10485760; var upload_projectname = "test"; var form_data = new FormData(); form_data.append('session_id',this.sessionID()); form_data.append('project_name',upload_projectname); form_data.append('file_name',upload_filename); form_data.append('file_size',upload_file.size); form_data.append('file',upload_file); if (upload_file.size < upload_maxsize) { var xhr_upload = $.ajax({ type: "POST",headers: { 'Cache-Control': 'no-cache' },url: "../services/upload.ashx",dataType: "json" } }) .done(function (xhr_data) { ... }) .fail(function (jqXHR,textStatus,errorThrown) { ... }) .always(function () { ... }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – ViewBag的Html.ActionLink值
- asp.net-core – 具有取消令牌的自定义AspCore中间件
- asp.net-mvc-3 – ASP.NET MVC 3中ModelState.IsValid的限制
- asp.net-mvc – ASP.NET MVC Beta 1 – 哪里是Html.RenderP
- asp.net – 实体框架MVC慢页面加载
- .net – UpdatePanel中的FileUpload控件,不刷新整个页面?
- asp.net-mvc – 更改表中给定行的背景颜色
- asp.net – 从代码后面添加文本框服务器控件?
- asp.net-mvc – EntityFramework代码在部署到Azure后未运行
- asp.net-mvc – 将现有的ASP.NET MVC网站移植到DNX
推荐文章
站长推荐
热点阅读