簡體   English   中英

我正在嘗試將 JSON 對象發布到 ASP.NET MVC 控制器但得到空的 JSON

[英]I am trying to post a JSON object to a ASP.NET MVC Controller but getting empty JSON

這是Javascript代碼

 $("#JSONPost").click(function (e) { var jsonData = { name: "ramesh", mobile: "9xxxxxxxxx" }; $.post( "/Trace/JSONPostMethod", jsonData, function (data, status) { alert(status); }); }); });

public ActionResult JSONPostMethod(object data)
{

}

數據以{}而不是{ name: "ramesh", mobile: "9xxxxxxxxx" }

知道如何獲得這個 JSON 嗎? 我不想創建模型類來獲取數據。

找到了解決辦法。 在控制器方法中執行此操作,

var resolveRequest = HttpContext.Request;
resolveRequest.InputStream.Seek(0, SeekOrigin.Begin);
string jsonString = new StreamReader(resolveRequest.InputStream).ReadToEnd();

您可以修改您的 Json 代碼並編寫一些不會令人困惑的內容,如下所示:

 $("#JSONPost").click(function (e) { var jsonData= {}; jsonData.Name = "Ramesh"; jsonData.Mobile = "9xxxxxxxxx"; $.ajax( url: "/Trace/JSONPostMethod", data: JSON.stringify(jsonData), contentType: 'application/json', type: 'POST', success: function (data, status) { alert(status); }); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

在您的控制器中進行更正:

[HttpPost]
public JsonResult JSONPostMethod(object data)
{
   // your logic here
   return Json(data, JsonRequestBehavior.AllowGet);
}

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM