Запрос отправляет более одного с использованием Ajax.BeginForm и Jquery.Unobtrusive - PullRequest
0 голосов
/ 30 мая 2019

Форма HTML отправляет POST запрос более чем на один.Я использую jquery.unobtrusive-ajax.js для асинхронного подключения.

Когда я отправляю запрос формы был отправлен на сервер два раза.Детали этих двух соединений перечислены в сети браузера -> вкладка XHR.

Спасибо за ваши предложения и помощь.

Моя HTML-форма и мои JS-файлы выглядят следующим образом:

JS

<script src="/assets/content/js/jquery.unobtrusive-ajax.js"></script>
<script src="/assets/global/scripts/datatable.js" type="text/javascript"></script>
<script src="/assets/global/plugins/datatables/datatables.min.js" type="text/javascript"></script>
<script src="/assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.js" type="text/javascript"></script>
<script src="/assets/global/plugins/bootstrap-fileinput/bootstrap-fileinput.js" type="text/javascript"></script>
<script src="/assets/global/plugins/bootstrap-toastr/toastr.min.js" type="text/javascript"></script>
<script src="/assets/content/js/jquery.unobtrusive-ajax.js"></script>

HTML-форма

@using (Ajax.BeginForm("UpdateDocument", "Document",
new AjaxOptions()
{
    HttpMethod = "POST",
    OnBegin = "Document.documentUpdateBegin",
    OnSuccess = "Document.documentUpdateSuccess",
    OnFailure = "Document.documentUpdateFailure"
}))
{
<div class="form-body">

    <input type="hidden" name="ID" value="@Model.DocumentItem.ID" />

    <div class="form-group form-md-line-input form-md-floating-label">
        <input type="text"
            class="form-control"
            name="Title" id="title"
            autocomplete="off"
            maxlength="250"
            value="@Model.DocumentItem.Title"
            required="required" />
        <label for="title_value">Title</label>
        <span class="help-block">Max 250 characters</span>
    </div>

    <div class="form-group form-md-line-input form-md-floating-label">
        <label class="control-label col-md-2"
            style="padding-left: 0px; margin: 5px 0px; color: #888;">
            Durum</label>
        <div class="col-md-2">
            @Html.CheckBox("IsActive", Model.DocumentItem.IsActive,
            new
            {
                @class = "make-switch",
                id = "is_active",
                data_on_text = "&nbsp;Aktif&nbsp;",
                data_off_text = "&nbsp;Pasif&nbsp;"
            })
        </div>
    </div>
</div>
<div class="form-actions noborder margin-top-20">
    <div class="col-md-2">
        <button type="submit" class="btn btn-block blue">UPDATE</button>
    </div>
</div>
}

1 Ответ

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

Я нашел решение.

В разделе JS есть два объявления файла javascript jquery.unobtrusive-ajax.js.

После того как я удалил вторую <script src="/assets/content/js/jquery.unobtrusive-ajax.js"></script> проблема решена.

...