[英]How do I retrieve body values from an HTTP POST request in an ASP.NET Web API ValueProvider?
[英]When converts ASP.NET values of ValueProvider?
我的項目使用ASP.NET MVC。
我通過ajax將一些數據發送到控制器動作,看起來像
{ "data" : { "DATE" : "\/Date(1409097600000)\/", "NAME" : "thomas } }
我使用控制器的ValueProvider來處理數據:
var provider = ControllerContext.Controller.ValueProvider;
var value = provider.GetValue("data.DATE");
// value is now already "27.08.2014 00:00:00"
為什么?
這部分轉換發生在哪里?
類似的問題: -
上面的數據是內容類型"application/json; charset=utf=8"
將數據設置為"application/x-www-form-urlencoded; charset=utf=8"
ASP.NET無法轉換日期值。
_model.DATE=%5C%2FDate(1409097600000)%5C%2F&_model.NAME=thomas
我覺得我做了關於一些錯誤\\
和/
在.NET的日期格式: \\/Date(1409097600000)\\/
(我知道netwonsoft.json可能是javascript序列化的替代品,但遺憾的是目前還沒有)
如果您使用Ajax帖子將JSON數據發送到服務器,那么content-type標頭應反映該事實(Content-Type =“application / json; charset = utf = 8”),以便服務器正確解釋數據。
Content-Type =“application / x-www-form-urlencoded; charset = utf = 8”,用於通過HTML表單提交數據。 如果您使用此內容類型標頭提交JSON數據,瀏覽器將對其進行URL編碼並生成您所示的字符串:
_model.DATE=%5C%2FDate(1409097600000)%5C%2F&_model.NAME=thomas
Date()函數在HTTP表單帖子中沒有任何意義(它是一個JSON函數),這就是日期轉換失敗的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.