首頁 >web前端 >js教程 >在 ASP.NET MVC4 Web API 應用程式中將 JSON 資料作為 POST 請求中的物件傳遞時,如何確保正確的物件綁定?

在 ASP.NET MVC4 Web API 應用程式中將 JSON 資料作為 POST 請求中的物件傳遞時,如何確保正確的物件綁定?

Susan Sarandon
Susan Sarandon原創
2024-11-10 02:08:02425瀏覽

How do I ensure proper object binding when passing JSON data as objects in POST requests in ASP.NET MVC4 Web API applications?

在POST 請求中將JSON 資料作為物件傳遞

在ASP.NET MVC4 Web API 應用程式中,嘗試在POST 中將客戶資料作為JSON 傳遞時會出現一個常見問題請求,導致客戶屬性出現空值。為了解決這個問題,我們需要了解正確的方法。

最初,建議使用「Content-Type: application/x-www-form-urlencoded」作為預設內容類型。但是,不再推薦這種方法,因為它可能會導致綁定複雜物件時出現問題。

解決方案:使用「application/json」

為了確保正確的物件綁定,我們應該使用「 application/json」作為內容類型。這指示伺服器我們正在發送 JSON 數據,使模型綁定器能夠正確地將 JSON 物件綁定到相應的類別物件。

程式碼片段:

var customer = {contact_name :"Scott",company_name:"HP"};
$.ajax({
    type: "POST",
    data :JSON.stringify(customer),
    url: "api/Customer",
    contentType: "application/json"
});

說明:

    在 Ajax 請求中將 contentType 屬性設為「application/json」。
  • 透過使用“application/json”,我們明確通知伺服器我們發送的資料是 JSON 格式。這允許模型綁定器將 JSON 資料反序列化為 Customer 對象,使操作方法能夠存取沒有 null 值的客戶屬性。
解決進一步問題

發布複雜對象

如果模型類很複雜,包含嵌套對象,我們應該確保我們發送的JavaScript 對象與視圖模型類的結構匹配。然後模型綁定器也可以正確綁定巢狀物件。

部分綁定問題

如果某些屬性未正確綁定,請確保使用 [FromBody] 修飾操作方法參數屬性。此屬性指示模型綁定器尋找請求正文中的資料。此外,避免使用較短形式的 $.post,因為它使用預設內容類型並可能導致部分綁定問題。

透過遵守這些準則,您可以有效地將 JSON 資料作為 POST 請求中的物件傳遞,確保發佈的資料正確綁定到 ASP.NET MVC4 Web API 應用程式中適當的類別物件。

以上是在 ASP.NET MVC4 Web API 應用程式中將 JSON 資料作為 POST 請求中的物件傳遞時,如何確保正確的物件綁定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn