Невозможно вернуть сообщение succes в jquery при успешной публикации данных - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь создать приложение, которое отправляет данные из представления на мой контроллер, это работает.Тем не менее, когда я пытаюсь использовать оповещения для обратной связи (успех или ошибка), это только дает мне ошибку.

HTML:

 <!--ALERTS-->
    <div class="alert alert-success" id="success-alert">
        <button type="button" class="close" data-dismiss="alert">x</button>
        <strong>API has been added!</strong>
    </div>
    <div class="alert alert-danger" id="danger-alert">
        <button type="button" class="close" data-dismiss="alert">x</button>
        <strong>API has not been added!</strong>
    </div>
 <!--ALERTS-->

JQuery:

 $(document).ready(function () {

                $("#success-alert").hide();
                $("#danger-alert").hide();

                $("#btnSubmit").click(function () {
                    var datastring = $("#myForm").serialize();

                    $.ajax({
                        type: "POST",
                        url: "/ApiBroker/AddApi",
                        dataType: 'json',
                        data: datastring,  
                        success:
                            function () {
                                $("#success-alert").fadeTo(2000, 500).slideUp(500, function () {
                                    $("#success-alert").slideUp(500);
                                });
                        },
                        error:
                            function () {
                                $("#danger-alert").fadeTo(2000, 500).slideUp(500, function () {
                                    $("#danger-alert").slideUp(500);
                                });
                            }
                    });

                    $('#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 new HttpStatusCodeResult(200);
        }
        catch (Exception ex){
            throw ex;
        }
    }

Мой контроллер вставляет данные в мою базу данных, и я возвращаю код состояния 200 в моем контроллере.Однако ошибка вместо succes обрабатывается в моем JQuery.

Вывод при публикации данных:

enter image description here

UPDATE

Когда я использую console.log (data) в моем JQuery, я получаю следующий вывод:

enter image description here

У кого-нибудь есть предложения?

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

1 Ответ

0 голосов
/ 02 июля 2019

Измените метод

[HttpPost]
    public JsonResult AddApi(string value)
    {
        try
        {

            return Json("OK");
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

или следующий, если используете ActionResult

 [HttpPost]
    public ActionResult AddApi(string value)
    {

        try
        {
            return Json(new {value = "complete"});
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

, если добавить следующее к ошибке ajax, вы сможете увидеть ошибку

   function(xhr, status) {
       alert(status);
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...