ASP.NET MVC-自动取消序列化JSON Fetch POST
ASP.NET MVC - Automatically deserialise JSON Fetch POST
我正在使用github/fetch-polyfill将一些数据发布回服务器。
fetch('./PerformSearch', {
method: 'POST',
header: {
'Accept' : 'application/json',
'Content-type' : 'application/json'
},
body: JSON.stringify({
terms: this.refs.termsFilter.getSelections(),
details: this.refs.detailsFilter.getSelections(),
dateRange: {
from: new Date(),
til: new Date()
}
})
})
但是控制器并没有像从表单变量中那样自动取消对参数中数据对象的请求体的序列化。不过,如果我使用XmlHttpRequest来执行此操作,它会起作用。。
var request = new XMLHttpRequest();
request.open("POST", url, true);
request.setRequestHeader("Content-type","application/json;charset=UTF-8")
...
request.send(JSON.stringify(data))
目前,在控制器中接收请求的功能非常简单——它什么都不做,我只是想让它现在使用以下方法将json主体取消序列化为数据对象:
public JsonResult PerformSearch(SearchModel.SearchSelections data)
{
//data has not been serialised
Stream req = Request.InputStream;
string body = new IO.StreamReader(req).ReadToEnd;
Console.WriteLine(body); // writes a json string
}
所以,是的,我可以在函数中使用json库来取消序列化,但我宁愿找到一种方法让控制器为我做这件事。
更新:
这是我试图取消对.net对象的限制:
class SearchModel
{
public class SearchSelections
{
public SearchTermList terms { get; set; }
public SearchDetailsList details { get; set; }
public DateRange dateRange { get; set; }
}
public class SearchTermList
{
public IEnumerable<string> exams { get; set; }
public IEnumerable<string> areas { get; set; }
public IEnumerable<string> classes { get; set; }
public IEnumerable<string> tokens { get; set; }
}
public class SearchDetailsList
{
public IEnumerable<string> studyTypes { get; set; }
public IEnumerable<string> species { get; set; }
public IEnumerable<string> strains { get; set; }
}
public class DateRange
{
public System.DateTime @from { get; set; }
public System.DateTime til { get; set; }
}
}
愚蠢的错误:
header: {'Content-type' : 'application/json'}
应该是headers
:
headers: {'Content-type' : 'application/json'}
相关文章:
- 如何在C#中反序列化json对象
- ASP.NET MVC-自动取消序列化JSON Fetch POST
- 如何在 Express/Node.js 中反序列化 JSON 数据
- 无法在 Javascript 中反序列化 JSON 对象
- C# 序列化 JSON 对象中的 JSON 对象
- 从 JavaScript 中的序列化 JSON 对象中提取变量
- 如何在 JQuery 中序列化 JSON 对象
- 为什么我的序列化 JSON 在到达 java 脚本函数参数后被取消序列化
- c#等效于序列化json
- 将函数对象引用作为序列化json传递
- c# Web服务到javascript反序列化JSON对象
- 在反序列化JSON对象时,是否有方法将属性名称转换为小写?
- 在Ext JS存储中反序列化json数据时区分模型类型
- . asmx怪从log4javascript日志反序列化JSON blob
- 如何序列化Json javascript
- 使用JavaScriptSerializer反序列化JSON对象
- 美元http.get获取反序列化JSON,但不能将其赋值给array
- c#反序列化JSON html字符串
- Jquery在ajax调用中没有正确序列化json
- 打字稿:如何使用私有变量反序列化 JSON 对象