Не удалось загрузить ресурс: сервер ответил статусом 405 () и вводом таинственного - PullRequest
0 голосов
/ 05 августа 2020

У меня есть эта функция

function AddComment(id) {
    var input = $("#" + "CommentOnPost" + id).val();
  
    var commentHolder = $("#commentDiv" + id);
    commentHolder.empty();

    $.ajax({
        url: 'Account/AddCommentToPost',
        data: { postId: id, text:input },
        dataType: 'json',
        cache: false,
        success: function (result) {
            //irrelevant
        },
    });
}

Но при ее отладке я вижу, что она делает следующий запрос:

https://localhost:44398/Account/AddCommentToPost?postId=1&text=gd&_=1596616234410

Этого дополнительного параметра «_» не должно быть, и он, возможно, является причиной проблемы?

1 Ответ

0 голосов
/ 05 августа 2020

Если вы применили к действию [HttpPost] атрибут , который будет определять ваше действие, которое поддерживает только метод HTTP POST. Ваш фрагмент кода Ajax сделает запрос ' GET ', который вызовет ошибку «405 Method Not Allowed» .

Чтобы исправить это, как вы упомянули, вы можно попробовать установить опцию type с помощью 'POST'.

$.ajax({
    url: 'Account/AddCommentToPost',
    type: 'POST',
    //...

Или удалите атрибут [HttpPost] из вашего метода действия, чтобы он поддерживал как запросы GET, так и POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...