AJAXでフォームをPOSTしようとしましたが、パラメータの1つが連想配列です。 コンソールで、要求が正常でパラメータが正しく送信されていることを確認できます。AJAXでコントローラのアクションに送信されたデータ(連想配列)を取得します。
これは、AJAX呼び出し
var fieldsEdited = [{"Key":1,"Values":["value1"]},{"Key":2,"Values":["value2"]}, ...]
$.ajax({
url: "/url"
type: 'POST',
data: { fieldsEdited: JSON.stringify(fieldsEdited) },
dataType: 'json',
traditional: true,
success: function (data, textStatus, jqXHR) { }
});
である。しかし、私はその
[HttpPost]
public ActionResult Method(List<DictionaryInfos> fieldsEdited)
のようにそれらを取得しようとしているコントローラ
のアクションでこれらのパラメータを「マップ」することはできません
と
[Serializable]
public class DictionaryInfos
{
public int Key { get; set; }
public List<String> Values { get; set; }
}
しかし、結果は常に空の配列です、私は正しいデータを取得することはできません。
どうしたのですか?
このパラメータの前に[FromBody]属性を追加してください。 – MajkeloDev
完全なAjaxコールコードを投稿してください。 –
投稿を編集しました。ありがとう – user3656665