Tag: asp.net web api

如何使用jQuery Ajax调用从ASP.NET Web Api下载CSV文件

我正在研究如何从jQuery ajax调用从ASP.NET Web Api下载CSV文件。 CSV文件是基于自定义CsvFormatter从Web API服务器动态生成的。 来自jQuery的Ajax: $.ajax({ type: “GET”, headers: { Accept: “text/csv; charset=utf-8”, }, url: “/api/employees”, success: function (data) { } }); 在服务器上, EmployeeCsvFormatter的实现类似于以下文章,派生自BufferedMediaTypeFormatter : http://www.asp.net/web-api/overview/formats-and-model-binding/media-formatters public class EmployeeCsvFormatter : BufferedMediaTypeFormatter { public EmployeeCsvFormatter() { SupportedMediaTypes.Add(new MediaTypeHeaderValue(“text/csv”)); } … } 我还添加了覆盖方法来表示我想像下载文件一样下载文件(可以在下载选项卡中看到下载文件): public override void SetDefaultContentHeaders(Type type, HttpContentHeaders headers, MediaTypeHeaderValue mediaType) { base.SetDefaultContentHeaders(type, headers, […]

如何将json对象数组发布到web api

如何将JSON数组发布到Web API? 它适用于单个对象。 这是我尝试过的,但控制器似乎返回0而不是预期的3 。 这是我的JSON: var sc = [{ “ID”: “5”, “Patient_ID”: “271655b8-c64d-4061-86fc-0d990935316a”, “Table_ID”: “Allergy_Trns”, “Checksum”: “-475090533”, “LastModified”: “2015-01-22T20:08:52.013” }, { “ID”: “5”, “Patient_ID”: “271655b8-c64d-4061-86fc-0d990935316a”, “Table_ID”: “Allergy_Trns”, “Checksum”: “-475090533”, “LastModified”: “2015-01-22T20:08:52.013” }, { “ID”: “5”, “Patient_ID”: “271655b8-c64d-4061-86fc-0d990935316a”, “Table_ID”: “Allergy_Trns”, “Checksum”: “-475090533”, “LastModified”: “2015-01-22T20:08:52.013” }]; AJAX电话: $.ajax({ url: urlString, type: ‘POST’, data: sc, dataType: ‘json’, […]

使用jQuery发布到ASP.Net webapi

遇到麻烦: 我做了这个简单的测试,警报会弹出文本“test return simple”: jQuerypost: $.post(“http://www.localhost/webapi/api/corkboard/test/”, jsonData) .done(function(data){ alert(data); }); Asp.Net WebAPI: [HttpPost] public string test() { return “test return simple”; } 但是当我通过添加参数来更改WebAPI时: public string test(string JSONData) { var jData = Json.Decode(JSONData); return “test return: ” + jData.Filter; } 我收到以下错误消息: “没有找到与请求URI匹配的HTTP资源’ http://www.localhost/webapi/api/corkboard/test/ ‘ 坚持并会感激任何想法…谢谢!

如何在ASP.NET MVC 4和jquery中使用web api下载文件

我是使用ASP.NET MVC 4和Web Api的新手。 我想允许用户下载一个文件,这个文件我将在服务器端创建。 为了创建文件,我设法获得了以下代码 [ActionName(“Export”)] public HttpResponseMessage PostExportData(SomeModel model) { string csv = _service.GetData(model); HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StringContent(csv); //a text file is actually an octet-stream (pdf, etc) result.Content.Headers.ContentType = new MediaTypeHeaderValue(“application/octet-stream”); //we used attachment to force download result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue(“attachment”); result.Content.Headers.ContentDisposition.FileName = “file.csv”; return result; } 如何使用JQUERY来调用这个WEB […]

ASP.NET MVC 4 Web Api ajax文件上传

我正在使用asp.net mvc 4 web api开发某种服务。 在一个表单上,用户必须上传少量文件,然后将表单提交给服务器。 问题是在ajax文件上传到asp.net mvc web api。 我已经实现了没有ajax的上传。 但是我需要用ajax完成它。 这是实施 public Task PostJob() { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType)); } string path = HttpContext.Current.Server.MapPath(string.Format(“~/Resources/Documents”)); MultipartFormDataStreamProvider provider = new MultipartFormDataStreamProvider(path); var request = Request.Content.ReadAsMultipartAsync(provider); var task = request.ContinueWith(t => { if (t.IsFaulted || t.IsCanceled) { return new HttpResponseMessage(HttpStatusCode.InternalServerError); } string fileName = […]

AJAX和Web Api Post方法 – 它是如何工作的?

我正在尝试使用AJAX / Jquery和c#写入我的数据库。 每当我将参数传递给C#代码时,它都显示为null。 我正在使用visual studio在创建控制器类时生成的默认模板。 任何帮助,将不胜感激! NOte:这是我打算打电话给的rest服务。 (一个普通的ASP网站……不是MVC。而且,GET Rest api非常有效。) jQuery的/ AJAX: var dataJSON = { “name”: “test” } $(‘#testPostMethod’).bind(“click”, GeneralPost); function GeneralPost() { $.ajax({ type: ‘POST’, url: ‘../api/NewRecipe’, data:JSON.stringify(dataJSON), contentType: ‘application/json; charset=utf-8’, dataType: ‘json’ }); } C# //If I remove the [FromBody] Tag then when I click the button this method is never […]

通过GET将JSON数组传递给MVC Web API

我知道这个主题有很多答案,但找不到我的问题的解决方案。 我有一个ASP.NET MVC Web API,如下所示: [HttpGet] public IList GetCountryList(List idList) 我试过这样称呼它: $.ajax({ dataType: “json”, data: JSON.stringify({idList: listOfIds}), type: “GET”, url: “api/v1/util/CountryList”, success: function (result) { alert(result); } }); 然后,URL如下所示: https://localhost/supertext/api/v1/util/CountryList?{%22idList%22:[46,14,62,83,120]} 替代方案: $.ajax({ dataType: “json”, data: { idList: JSON.stringify(listOfIds), } type: “GET”, url: “api/v1/util/CountryList”, success: function (result) { alert(result); } }); url: https://localhost/supertext/api/v1/util/CountryList?idList=%5B46%2C14%2C62%2C83%2C120%5D 两种方法都不起作用。 我是否真的必须以字符串forms发送和接收它或使用POST?

Web API表单数据收集

我正在尝试将表单序列化值发布到控制器(Web API Self Host)。 我无法理解为什么NameValueCollection没有正确绑定。 客户端使用jQuery: // Form Submit Handler $( ‘#form-parameters’ ).submit(function (event) { event.preventDefault(); var formData = $(this).serialize(); // Post serialized form data postAssemblyParameters(formData); }); // Post Form Data to controller test function postAssemblyParameters(formData){ $.ajax({ url: http://localhost/api/test/1, type: ‘POST’, data: formData, dataType: ‘application/x-www-form-urlencoded’, success: function(x3d) { }, error: function(xhr) { } }); } […]

在Ajax请求期间获取“找不到匹配控制器命名的类型”错误消息

我已经看过很多关于这个问题的主题,但不幸的是我相信每个案例都是一个不同的案例(或大多数案例),我真的很想得到一些专家对我的案例的意见,因为我不能让我的代码工作甚至阅读完一些其他主题后。 情况:我在jQuery中使用Ajax Request调用我在WebApi项目中创建的WebService方法以及MVC 4应用程序。 我的WebService控制器类看起来像默认值,如下所示: public class AdditionalInfoController : ApiController { //GET api/AdditionalInfo public IEnumerable Get() { return new string[] { “value1”, “value2” }; } //GET api/AdditionalInfo/5 public string Get(int id) { return “value”; } //PUT api/AdditionalInfo/5 public void Put(int id) { string test = “”; } } 来自jQuery的我的Ajax请求如下所示: function GetAdditionalInfo(obj) { var request = […]

带有额外参数的Webapi ajax formdata上传

我正在使用jQuery ajax上传文件,但想在webapi方法上添加一些参数,这里是: var data = new FormData(); data.append(“file”, $(“#file”)[0].files[0]); data.append(“myParameter”, “test”); // with this param i get 404 $.ajax({ url: ‘/api/my/upload/’, data: data, cache: false, contentType: false, processData: false, type: ‘POST’, success: function (data) { console.log(data); } }); Webapi控制器: public class MyController : ApiController { public string Upload(string myParameter) { return System.Web.HttpContext.Current.Request.Files.Count.ToString() + ” / […]