ajax заменить тело на jQuery load () - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь заменить тело следующим кодом, используя jquery.

let url = $(id_mobileform).attr(attr_action) + " #MobileBody";

$('#MobileBody').load(
    url,
    $(id_mobileform).serialize(),
    function(response, status, xhr) {
        if (status == "success") {
            alert("yay i have a good response.. but I still don't do it. :p");
        }

        if (status == "error") {
            alert(xhr.status + ": " + xhr.statusText);
        }
    }
);

Это убирает внутреннюю часть тела. статус успешен, и ответ имеет полную html страницу.

В противном случае

let url = $(id_mobileform).attr(attr_action) + " #MobileBody";

$.post(
    url,
    $(id_mobileform).serialize(),
    function(data) {
        $("form").replaceWith(data);
    }
);

то есть полная страница html между телом.

Так что загрузка не выполняется t, и селектор в URL-адресе var игнорируется.

Почему это так? может есть другой способ?

1 Ответ

0 голосов
/ 21 января 2020

Используйте следующий код с функцией $. ajax для загрузки / замены содержимого.

var formdata = new FormData($("#id_mobileform")[0]);
$.ajax({
    url: url,
    data: formdata,
    processData: false,
    contentType: false,
    type: 'POST',
    beforeSend: function () {
        // Loading
    },
    success: function (response) {
        // alert("yay i have a good response.. but I still don't do it. :p");
        // Do action to replace content
    },
    error: function (jqXHR, textStatus, errorThrown) {
        // console.log(textStatus, errorThrown);
    }

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