Как отобразить успех или сообщение об ошибке в MVC с Javascript? - PullRequest
0 голосов
/ 01 июля 2019

Мне интересно, как отобразить сообщение об успехе или ошибке при успехе или неудаче с помощью действия контроллера в моем проекте MVC с начальной загрузкой. Например, я получил следующее действие:

Введите:

enter image description here

Метод Javascript для отправки данных в контроллер:

              //Sends data filled in in modal to backend.
              $(document).ready(function () {
                $("#btnSubmit").click(function () {
                    var datastring = $("#myForm").serialize();

                    $.ajax({
                        type: "POST",
                        url: "/ApiBroker/AddApi",
                        dataType: 'json',
                        data: datastring,
                    });
                    $('#myModal').modal('hide');
                    $('body').removeClass('modal-open');
                    $('.modal-backdrop').remove();
                })
            })

Метод контроллера:

 [HttpPost]
    public ActionResult AddApi(ApiRedirect model)
    {
        var data = model;
        try
        {
            List<ApiRedirect> list = dbProducts.ApiRedirects.ToList();
            int companyID = dbProducts.Companies.Where(x => x.CompanyName == model.Company.CompanyName).FirstOrDefault().CompanyID;
            int mappingID = dbProducts.MappingNames.Where(x => x.Name == model.MappingName.Name).FirstOrDefault().MappingID;
            ApiRedirect api = new ApiRedirect();
            api.ApiName = model.ApiName;
            api.CompanyID = companyID;
            api.ApiURL2 = model.ApiURL2;
            api.MappingID = mappingID;
            api.ResponseType = model.ResponseType;
            dbProducts.ApiRedirects.Add(api);
            dbProducts.SaveChanges();
            return View ();
        }
        catch (Exception ex){
            throw ex;
        }
    }

Если метод AddUser добавил пользователя в мою базу данных, я хочу отобразить сообщение об ошибке, а если пользователь не был добавлен, я хочу отобразить сообщение об ошибке. Я не знаю, как этого добиться, какие-либо предложения?

Заранее спасибо!

UPDATE

Таким образом, предупреждение работает, но вызов POST получает следующую внутреннюю ошибку сервера:

enter image description here

1 Ответ

1 голос
/ 01 июля 2019

Во-первых, вам нужно обновить ajax, чтобы использовать успех или неудачу

     $.ajax({
            type: 'POST',
            url: "/ApiBroker/AddApi",
            data: datastring,
            dataType: 'json',
            success:
                function(data){
                    //... put your logic here 
             },
            error:
                function(){ alert('error'); }
        });

Во-вторых, вам нужно обновить действие контроллера, чтобы оно возвращало IHttpActionResult, где вы можете указать ответное сообщение.

Если вы посмотрите на это

HttpResponseMessage

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