[英]How to retrieve JSON data in controller in ASP.net Core?
我需要使用 JSON 發送數據並保存到 asp.net 控制器中的模型
//JSON data
var dataType = 'application/json';
var data = {
ID: 'Zaki',
}
console.log('Submitting form...');
console.log(data);
$.ajax({
type: 'POST',
url: 'Save',
dataType: 'json',
contentType: dataType,
data: data,
success: function (result) {
console.log('Data received: ');
console.log(result);
}
});
控制器
[HttpPost]
public ActionResult Save([FromBody] string ID)
{
return Json (ID);
}
我在控制台中變空了,它應該是 zaki 並且從那里我想編寫保存代碼...
另一種方法是簡單地使用“動態”類型來處理 json 請求數據。 看一看:
[HttpPost]
public IActionResult YoutMethod([FromBody] dynamic requestData)
{
Log.Information(requestData.field1);
Log.Information(requestData.field2);
// ...
return Ok();
}
修改代碼數據中的這一行:數據,以
數據:JSON.stringify(數據)
將數據發送到Web服務器時,數據必須是字符串,並且JSON.stringify方法將JavaScript對象轉換為字符串。
另一種方法是,不要獲取原始字符串值,而是將參數包裝到這樣的類對象中
public class ParamObj
{
public string ID{get;set;}
}
並在您的控制器中獲得像這樣的對象類型的參數。
public ActionResult Save([FromBody] ParamObj data)
感謝名單
我知道已經將其標記為已回答,但這是另一種方法:
我沒有使用綁定的FromBody屬性。
調節器
public class JsonRequest
{
public string Id { get; set; }
}
[HttpPost]
public ActionResult Save(JsonRequest data)
{
return Json(data.Id);
}
而不是使用dataType,而是使用accept ,您不需要將json轉換為字符串。
為了避免相對路徑出現問題,我也在使用:url:'@ Url.Action(“ Save”,“ Home”)'。
使用Javascript
function send()
{
//JSON data
var dataType = 'application/json';
var data = {
"id": "Zaki"
}
console.log('Submitting form...');
console.log(data);
$.ajax({
type: 'POST',
url: '@Url.Action("Save", "Home")',
accept: dataType,
data: data,
success: function (result) {
console.log('Data received: ');
console.log(result);
}
});
}
祝您項目順利。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.