ホームページ > バックエンド開発 > C++ > 複雑な JSON 配列を jQuery から ASP.NET MVC コントローラーに効率的に渡すにはどうすればよいですか?

複雑な JSON 配列を jQuery から ASP.NET MVC コントローラーに効率的に渡すにはどうすればよいですか?

DDD
リリース: 2025-01-04 20:26:41
オリジナル
213 人が閲覧しました

How Can I Efficiently Pass Complex JSON Arrays from jQuery to ASP.NET MVC Controllers?

JSON と jQuery: 複雑な配列を ASP.NET MVC コントローラーに渡す

複雑なオブジェクトの配列を ASP.NET MVC コントローラーに送信する必要があるシナリオコントローラーのアクションでは、クライアント側のコードとサーバー側のコード間の互換性を考慮することが不可欠です。この課題を解決するために、Steve Gentile が説明したアプローチを詳しく見てみましょう。

クライアント側処理

jQuery コード:

function getplaceholders() {
    // Collect data into an array
    var results = new Array();
    ...
    var postData = { widgets: results };
    // Send data to the controller with JSON serialization
    $.ajax({
        url: '/portal/Designer.mvc/SaveOrUpdate',
        ...
        data: $.toJSON(widgets),
        ...
    });
}
ログイン後にコピー

ここ、データは配列に収集され、JSON オブジェクト内でラップされ、シリアル化されて送信されます。

コントローラー アクションの構成

ASP.NET MVC コントローラー アクション:

[JsonFilter(Param = "widgets", JsonDataType = typeof(List<PageDesignWidget>))]
public JsonResult SaveOrUpdate(List<PageDesignWidget> widgets)
ログイン後にコピー

[JsonFilter] 属性は、受信するアクションをカスタマイズします。 JSONデータ。パラメーター名 (「ウィジェット」) を定義し、予期される JSON データ型 (List) を指定します。

カスタム JSON フィルター属性

public class JsonFilter : ActionFilterAttribute
{
    ...
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
        {
            // Deserialize JSON data from request body
            string inputContent = ...;
            var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
            // Assign the deserialized object to the specified parameter
            filterContext.ActionParameters[Param] = result;
        }
    }
}
ログイン後にコピー

JsonFilter は、JSON コンテンツ タイプのリクエストをインターセプトし、次を使用して JSON データを逆シリアル化します。 Json.NET の JsonConvert クラスを使用して、結果を適切なアクション パラメーターに割り当てます。

このアプローチを利用することで、クライアント側のデータとサーバー側のアクションの間の通信が効果的に確立され、コントローラーがアクションを処理できるようになります。 JSON 形式で受信したオブジェクトの複雑な配列。

以上が複雑な JSON 配列を jQuery から ASP.NET MVC コントローラーに効率的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート