Методы службы WCF + синхронные вызовы из JavaScript - PullRequest
1 голос
/ 05 января 2011

Я написал службу WCF и пытаюсь вызвать методы службы в сценарии на моей странице ASPX.

Например:

<script language="javascript" type="text/javascript">

<!--

        function Test() {
          **// The following call is an Async call.  
          tempuri.org.IService.GetData(1,OnRequestComplete, OnError, "");**
        }

        function OnRequestComplete(result, state) {
            var textBox = $get("txtInput");
            textBox.value = result;

        }
        function OnError(result) {
            var textBox = $get("txtInput");
            textBox.value = result;
        }

    //-->    
</script>

Я хочу иметь возможность вызывать метод обслуживания "синхронно"

например: var result = tempuri.org.IService.GetData (1);

Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 05 января 2011

Я полагаю, что в Javascript нет возможности выполнять синхронные вызовы - библиотеки AJAX всегда возвращаются при ожидании удаленного ответа.

Можете ли вы объяснить, почему вы хотите это сделать?

Редактировать:

В ответе следует использовать этот метод:

  • В обработчике события onclick для кнопки отправки формы: выполните проверочный вызов веб-службы и немедленно верните false (чтобы форма не отправлялась). Было бы неплохо показать пользователю сообщение типа «Проверка», чтобы они знали, что здесь происходит.

  • Если вы получили правильный ответ, используйте document.form.submit(); для отправки формы на сервер.

  • Если вы получили неверный ответ или ошибку сервера, отобразите пользователю сообщение об этом.
0 голосов
/ 18 января 2011

Если вы используете обычный AJAX, вы можете сделать свой вызов синхронным.

См .: http://www.w3schools.com/Ajax/ajax_xmlhttprequest_send.asp и прокрутить вниз до части «Асинхронный - True или False?»

ЗдесьЯ использую AJAX, но иногда он зависает www.DomainGuarder.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...