Это код jQuery
success: function (html) {
var text = $(html).text();
if (text == '') {
location.reload();
} else {
$("#warning2").html(html);
}
}
Я хочу преобразовать $(html).text(); в простой JavaScript.
Вот мой простой код JavaScript, но страница не будет перезагружаться, в отличие от кода jQuery.
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200)
{
if (xhttp.responseText == "" || xhttp.responseText.textContent == "")
location.reload();
else
document.getElementById("warning2").innerHTML = xhttp.responseText;
}
};
В данном случае это связано с тем, что jQuery анализирует возвращенный HTML, а затем определяет, есть ли какой-либо текст в проанализированных элементах, тогда как JavaScript проверяет, есть ли какой-либо возвращенный HTML. Чтобы проанализировать HTML в обычном JavaScript, см. stackoverflow.com/q/32250434/215552.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


На основании вашего описания:
«Я хочу преобразовать $ (html) .text (); в простой JavaScript»
Итак, я полагаю, у вас есть правильная функция ajax, и ваш вопрос касается преобразования этой части вашего кода в pure js. (Если у вас его нет, вы можете проверить stackoverflow на наличие таких ссылок, как это).
Ваш код в jquery:
var text = $(html).text();
Тот же код в js:
var uDiv=document.createElement("div");
uDiv.innerHTML= xhttp.responseText;
var text=uDiv.children[0].innerText; //or .innerHTML
кончик: в вашей последней строке (.innerHTML=...), если в ответе есть теги сценария, вы должны разделить их и создать эти теги сценария с помощью кода (аналогично моему приведенному выше коду).
Я изменяю некоторые из ваших кодов, чтобы они работали. моя неудача заключалась в том, что я не построил элемент.
Это была уловка. Мы никогда не добавляем элемент в документ. Я рад, что проблема решена.
Возможный дубликат Есть ли простой способ преобразовать код jquery в javascript?