#javascript #jquery #ajax
#javascript #jquery #ajax
Вопрос:
Я пытаюсь изменить JQuery
код на JavaScript xhttp
.
Это мой jQuery
var sendRequest = function(){
$.ajax({
url: urlIn,
data: dataIn,
type: typeIn,
success: funcSuccess,
error: funcError,
});
};
Это мой JavaScript.
var sendRequest = function() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 amp;amp; this.status == 200) {
funcSuccess(this.responseText);
}else{
funcSuccess(this.responseText);
}
};
xhttp.open(typeIn, urlIn, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(dataIn);
}
Это не работает.
Что я пропустил?
Комментарии:
1. Какая-либо ошибка? Вы видите что-нибудь на вкладке сеть в инструментах разработчика браузера? Что такое
typeIn
urlIn
илиfuncSucces()
?2. почему вы вызвали funcSuccess в блоке else …?
3. синтаксис верен, TypeIn = POST, urlIn = request.php , funcSuccess — это функция обратного вызова. все предназначено для длинного опроса AJAX, только для функции jQuery это работает, но когда я пытаюсь изменить его на JavaScript, это не работает.
4. Возможно
this.status == 200
, так и естьfalse
. С XHR все в порядке. Я думаю, что это ошибка сервера.5. Это POST-запрос, поэтому возможно, что сервер отвечает
201
кодом (201 созданный). Но это не имеет значения, поскольку у него естьfuncSuccess
даже ошибка :). Весь код представляет собой беспорядок. Но, не зная ошибок, ответа сервера и т. Д. мы не можем ему помочь.