Как остановить обновление страницы после вызова ajax (происходит только при сохранении изображения)?

#c# #ajax #asp.net-mvc

#c# #ajax #asp.net-mvc

Вопрос:

После сохранения изображения в контроллере страница автоматически перезагружается после успешного выполнения ajax. Если изображение недоступно, проблемы нет. как остановить перезагрузку страницы?

  • Метод

      if (desktopImageUpload != null)
      {
    
          var file = desktopImageUpload;
          var fileFormat = Path.GetFileName(file.ContentType);
          var fileName = "promo-"   fileID   "-desktop."   fileFormat;
    
          var path = Path.Combine(Server.MapPath("~/Images/SocialMediaPromotions"), fileName);
                file.SaveAs(path);               
    
       }
      
  • ajax

        $.ajax({
    
                type: 'POST',
                dataType: 'JSON',
                url: '/Admin/RecordSocialMediaPromotions',
                data: formData,
                contentType: false,
                processData: false,
                success: function (response) {
    
                    if (response.type == "Success") {
                        swal("Hooray", "Promotion Recorded Successfully", "success");
                        $('#preLoader').hide();
                        $("#dealSaveBtn").prop("disabled", true);
    
                    } else {
                        swal("Boooo", response.msg, "error");
                        $('#preLoader').hide();
                    }
                },
                error: function (response) {
                    swal("Boooo", "Promotion was not recorded", "error");
                    $('#preLoader').hide();
                }
    
          });
      

Комментарии:

1. Проверьте после нажатия кнопки загрузки, не используется ли тип кнопки «отправить» <тип ввода кнопки =»button»>

2. Если я использую кнопку type as, bootstrapvalidator не будет работать.

3. нажатие <кнопки> работает всегда, в jQuery или Bootstrap нет ограничений больше документации по api.jquery.com/click

4. Я пробовал, для bootstrapvalidator работает только проверка в <тип ввода кнопки =»отправить»>

Ответ №1:

Если ваша «кнопка» является button элементом, убедитесь, что вы явно задали type атрибут, иначе веб-форма будет рассматривать его как отправленный по умолчанию.

 <button id="dealSaveBtn" type="button">Go</button>
  

Если это input элемент, попробуйте ниже :

     e.preventDefault();
  

Подробнее: event.preventDefault()

Комментарии:

1. Если я использую кнопку type as, bootstrapvalidator не будет работать.