2013-09-20 2 views
0

У меня есть Self-Hosted-Service (с использованием WCF), который будет работать на компьютерах клиентов. Эта служба должна сделать запрос на другой сервер, получить данные как XML, а затем вернуть мне данные, такие как JSONP. Теперь я хочу проверить, работает ли служба или нет. Как я могу это проверить?Проверка выполняется самообслуживанием-службой

В моем JS кода я использую $.getJSON с обратного вызова, поэтому я попытался использовать .fail так:

$.getJSON("http://localhost:8080/url?callback=?", function() { 
    alert("success"); 
}).fail(function() { 
    alert('fail'); 
}) 

но не функция не вызывается, когда сервер не работает (на хром Тип является pending и Status провален)

Тогда я попытался использовать $ .ajax, как это:

$.ajax({ 
    type: 'GET', 
    dataType: 'jsonp', 
    url: 'http://localhost:8080/url?callback=?', 
    success: function (data, textStatus) { 
     alert('request successful'); 
    }, 
    error: function (xhr, textStatus, errorThrown) { 
     alert('request failed'); 
    } 
}); 

Я получил тот же результат.

+0

localhost не является удаленной машиной, вы уверены, что отключили порт 8080 на локальном хосте, просто чтобы начать с самой простой вещи, которую я могу себе представить. Замените 'localhost' на' djq3oilkthoi3thjst' – DanFromGermany

+0

мой локальный сервис делает звонки на другие/удаленных серверах, а затем вернуть мне результат как JSON –

ответ

0

Когда вы делаете запрос AJAX на ваш localhost и /url? возвращает Погода другой сервер встал или нет, ваш скрипт не подведет. Потому что http://localhost/url онлайн.

Я бы сделать /url сценарий возвращения JSON массив с remoteHostOnline: true or false, затем использовать:

$.ajax({ 
type: 'GET', 
dataType: 'jsonp', 
url: 'http://localhost:8080/url?callback=?', 
success: function (data, textStatus) { 
    if (data.remoteHostOnline == false) { 
     alert('remote host not online'); 
    } 
} 
}); 

Вы, возможно, придется настроить этот сценарий, я не проверял, но вы поймете, что это не так.

+0

, проблема в том, что если служба localhost не запущена, запрос не выполнен, но обратный вызов для ошибки не запускается –

Смежные вопросы