2009-11-20 49 views

回答

1

当然。我们需要更多的信息来了解您正在使用的服务类型以及您是否使用JS库。这对于Dojo或EXT来说非常简单。 我会告诉你一个Dojo的例子,因为这是我最近的工作。在这一点上,我主要创建我的服务作为REST服务。根据服务以及它将如何使用,我要么将响应作为JSON或JSONP发回。 以下是将响应作为JSONP发送的服务的示例,我将其用于跨域调用。你可能会需要使用dojo.io.script.get(如果使用Dojo库):

dojo.io.script.get({ 
    callbackParamName: 'method', 
    url: 'http://mydomain/myservicename/mymethodname/param1/param2', 
    timeout: 20000, 
    load: dojo.hitch(this,function(response,ioArgs) { 
     this.doSomething(response); 
    }), 
    error: dojo.hitch(this,function(error) { 
     alert('uh oh, something went wrong'); 
    }) 
}); 

对于发回响应作为JSON的服务,您可以使用下面的道场功能: dojo.xhr, dojo.xhrDelete,dojo.xhrGet,dojo.xhrPost,dojo.xhrPut,dojo.rawXhrPost和dojo.rawXhrPut,具体取决于您所做的调用类型。下面是一个例子:

dojo.rawXhrPost({ 
    url: url, 
    handleAs: 'json', 
    postData: parametersJSON, 
    headers: { "Content-Type": "text/json" }, 
    timeout: 45000, 
    //function to be run in case of successful call to the specified Web method 
    load: function(data) { 
     onComplete(data); 
    }, 
    //function to be run in case of failed call to the specified Web method 
    error: function(error) { 
     onError(error.message); 
    } 
}); 
2

是的,你可以做到这一点。

+0

那么请告诉我如何? – 2009-11-20 11:25:26

+0

你想打什么样的服务?请更具体一些。 – 2009-11-20 11:51:12

+0

我想调用服务,返回数组和我在java脚本中使用的数组 – 2009-11-21 04:11:20

1

您可以使用普通XHR呼叫在与服务器页面相同的服务器上调用Web服务。如果服务器位于不同的服务器上,则应使用JSONP调用。注意JSONP没有最好的错误处理。

1

您可以轻松调用JSON或RESTful Web服务。

对于SOAP Web服务,您需要一个library

相关问题