开发者

WCF Service methods + Synchronous calls from javascript

I have written a WCF service and am trying to call the service methods in a script in my ASPX page.

Eg:

<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 开发者_Go百科= $get("txtInput");
            textBox.value = result;
        }

    //-->    
</script>

What I want is to be able to call the service method "synchronously"

eg: var result = tempuri.org.IService.GetData(1);

Is this possible?


I believe there's no ability to do synchronous calls in Javascript - the AJAX libraries will always return while waiting for a remote response.

Can you explain why you want to do this?

Edit:

In answer, you should use this method:

  • In the onclick event handler for your form submit button: Make the webservice validation call, and immediately return false (so the form does not submit). It would be a good idea to display to the user a 'Validating' type message, so they know what is happening here.

  • If you get a valid response, then use document.form.submit(); to submit the form to the server.

  • If you get an invalid response, or a server error, then display to the user a message to that effect.


If you use regular AJAX you can make your call synchronous.

See: http://www.w3schools.com/Ajax/ajax_xmlhttprequest_send.asp and scroll down to the part "Asynchronous - True or False?"

Here I use AJAX but sometimes it hangs www.DomainGuarder.com

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜