невозможно отправить массив json с помощью jquery-ajax в web api - PullRequest
0 голосов
/ 12 июня 2018

мой метод веб-API не получает никаких данных через ajax-вызов.на самом деле я отправляю массив объектов следующим образом:

 [{"Id":1,"columnName":"Name","onPage":true,"onReport":false},{"Id":2,"columnName":"Email","onPage":true,"onReport":false},{"Id":3,"columnName":"Password","onPage":false,"onReport":true},{"Id":4,"columnName":"Country","onPage":false,"onReport":true},{"Id":5,"columnName":"State","onPage":false,"onReport":true},{"Id":6,"columnName":"filename","onPage":false,"onReport":false},{"Id":7,"columnName":"Salary","onPage":false,"onReport":false}]

   $(document).on('click', '#btnSave', function () {
    console.log(expressionValue);
    var obj = JSON.stringify(expressionValue);
    console.log(obj );
    $.ajax({
        type: "POST",
        url: "/api/test/saveSettings",
        dataType:"JSON",
        data: {expressionValue : JSON.stringify(expressionValue)},
        success: function () {
            alert("Settings updated successfully");
        }
    });
});

Метод веб-API:

        [HttpPost]
        public void saveSettings( setting s)
        {

        }

Моя модель выглядит следующим образом:

public class setting
{
    public int Id { get; set; }
    public string columnName { get; set; }
    public Nullable<bool> onPage { get; set; }
    public Nullable<bool> onReport { get; set; }
}

1 Ответ

0 голосов
/ 13 июня 2018

Попробуйте это:

$(document).on('click', '#btnSave', function () {
    //console.log(expressionValue);
    //var obj = JSON.stringify(expressionValue);
    //console.log(obj );
    $.ajax({
        type: "POST",
        url: "@Url.Action("saveSettings","test")",
        data: {s: JSON.stringify(expressionValue)},
        success: function () {
            alert("Settings updated successfully");
        }
    });
});
...