2009-11-20 81 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

相關問題