Так что я простой WebAPI контроллер с ...Попытка использовать Javascript, чтобы назвать мой MVC WebAPI
[HttpGet]
public string Demo()
{
System.Diagnostics.Debug.Print("API Demo call hit " + DateTime.Now.ToString());
return "Got Here";
}
Из-за выхода отладки, я могу сказать, что это на самом деле вызывался из моего JavaScript. Поэтому я знаю, что мой сценарий, по крайней мере, соединяется. Я также знаю, что если я помещу перерыв на линии, сценарий (html-страница) сделает паузу и дождитесь окончания кода. Так что они говорят, но у меня есть 2 вопроса ...
1) Каждый раз, когда я делаю вызов отправки, я получаю ошибку сценария «NetworkError: не удалось выполнить« отправить »на« XMLHttpRequest »: не удалось загрузить ' http://localhost:64769/api/demo «... хотя я знаю, что это говорит с ним. Но я заметил, что если я НЕ ловушка для ошибок, скрипт выходит из строя в строке «Отправить» и не продолжается.
2) Однако с ловушкой ошибки сценарий продолжает (как и ожидалось), но XMLHttpRequest не имеет моего возврата. (например, responseText пуст). Почти каждое свойство объекта пустое или пустое.
Так что я думаю, что мой ответ пуст, потому что есть проблема с «отправкой». Однако, поскольку он на самом деле вызывает мой контроллер и ждет его запуска, я теряюсь относительно проблемы.
Вот мой сценарий ...
function CallWebAPI()
{
var displayResults = document.getElementById('responseDetails');
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://localhost:64769/api/demo", false);
try
{
xmlhttp.send();
}
catch(err)
{
displayResults.innerHTML += err + "<br />";
}
displayResults.innerHTML += "The Results...<br />";
for (var key in xmlhttp)
{
displayResults.innerHTML += key + "---" + xmlhttp[key] + "<br />";
}
}
FYI .. Я просто использовал Fiddler смотреть, как мой вызов моего API. Согласно Fiddler, (который я едва знаю, как использовать), я вижу вызов в Инспекторе, и он показывает мое возвращаемое значение в нижней части (верхняя часть показывает заголовок клиента, в нижней части показан возврат, который я принимаю). Так что это даже звучит все больше и больше, как работает мой сервис, но что-то не так со стороны JavaScript? –