Ajax данные не передаются контроллеру - PullRequest
0 голосов
/ 29 мая 2020

У меня проблема, когда данные в ajax не передают элемент sessionStorage. Я пробовал использовать JSON .stringify и добавил contentType: 'application / json', но все равно не проходит. Можно ли это сделать с помощью метода POST? Кроме того, я отладил и вернул эти sessionStorages, поэтому проблема не в том, что sessionStorge не содержит данных.

Вот моя функция:

    function functionA() {
        $.ajax({
            url: URLToApi,
            method: 'POST',
            headers: {
                sessionStorage.getItem('token')
            },
            data: {
                access_token: sessionStorage.getItem('pageToken'),
                message: $('#comment').val(),
                id: sessionStorage.getItem('pageId')
            },
            success: function () {
                $('#success').text('It has been added!"');
            },
        });
    }

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Проверьте ниже в действии контроллера, что

  1. должно быть соответствующее действие в контроллере
  2. имя параметра должно быть таким же, как вы передаются данные в ajax

  3. Тип метода должен быть таким же, как ajax POST действия в контроллере.

 function AddPayment(id, amount) {
        var type = $("#paymenttype").val();
        var note = $("#note").val();
        var payingamount = $("#amount").val();
        $('#addPayment').preloader();
        $.ajax({
            type: "POST",
            url: "/Fixed/AddPayment",
            data: {
                id: id,
                amount: payingamount,
                type: type,
                note: note
            },
            success: function (data) {
                
            }
        });

    }

enter image description here

Вот рабочий код с моей стороны. Проверьте это, и для части заголовка вам нужно получить его из запроса в действии

0 голосов
/ 30 мая 2020

Решение этой проблемы найдено. Проблема заключалась в sessionStorage, поэтому я передал его прямо в URL-адрес, и теперь он работает следующим образом:

   function functionA() {
    $.ajax({
        url: 'http://localhost:#####/api?id=' + sessionStorage.getItem('pageId') + '&access_token=' + sessionStorage.getItem('pageToken') + '&message=' + $('#comment').val(),
        method: 'POST',
        headers: {
            sessionStorage.getItem('token')
        },
        success: function () {
            $('#success').text('It has been added!"');
        },
    });
}
...