Я пытаюсь протестировать веб-службу входа в систему, разместив некоторый xml для входа в систему, и он повторяет эту ошибку:
Uncaught TypeError: незаконный вызов
Вот код:
$(document).ready(function() {
var data = $.parseXML("<authenticationDetail><userName>username</userName><password>passw</password></authenticationDetail>");
var url = "http://127.0.0.1:8000/thelogin.ws";
$.ajax({
data: data,
type: "POST",
contentType: "application/xml",
url: url,
dataType: "xml",
success: function(xml) { // callback called when data is received
alert("success to post");
},
error: function() { // callback called when error
alert("fail to post");
}
});
});
Как я могу это исправить?



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


Попробуйте изменить:
var data = $.parseXML("<authenticationDetail><userName>username</userName><password>passw</password></authenticationDetail>");
К :
var data = "<authenticationDetail><userName>username</userName><password>passw</password></authenticationDetail>";
Вы отправляете XML, а не анализируемый XML.
Вы устанавливаете dataType на xml, но делаете $.parseXML и отправляете проанализированный XML (объект).
var data = $.parseXML("<authenticationDetail><userName>username</userName><password>passw</password></authenticationDetail>");
data - это объект, а не допустимая строка XML.
JQuery нужна неанализируемая строка XML для работы этого запроса.
Так что просто опустите часть $.parseXML, и она должна работать.
Добавьте минимальное воспроизведение во фрагмент и укажите, где возникает ошибка.