2009-05-14 17 views
28

jQueryからWebサービスを呼び出したいとします。どうやってやるの?jQueryからWebサービスを呼び出す方法

+2

私があれば、質問を閉じる示唆これは私が – shahkalpesh

+0

の下に投稿したリンクで十分にうまく答えられています。これは多少Stack Overflowの質問に関連しています* [How to jQueryを使用してASP.NET Webサービスを呼び出しますか?](http://stackoverflow.com/questions/230401/how-to-use-jquery-to-call-an-asp-net-web-service/230605)* 。 – shahkalpesh

+0

http://docs.jquery.com/Ajax – Gromer

答えて

29

あなたが任意の他の要求のようなAJAX要求を行うことができます。

$.ajax({ 
type:'Get', 
url:'http://mysite.com/mywebservice', 
success:function(data) { 
alert(data); 
} 

}) 
+4

onSuccessハンドラの綴りを訂正してください...成功から成功へ – jcolebrand

+0

クロスドメインが必要な場合はどうすればいいですか – kta

+0

@kta、次にjsonpが必要です –

7

EDIT:

OPは、クロスドメインリクエストを使用するために探していませんでしたが、jQueryのは、V1.5のようJSONPをサポートしています。 jQuery.ajax()、具体的にはcrossDomainパラメータを参照してください。

通常のjQuery Ajaxリクエストはクロスサイトでは動作しませんので、リモートRESTful Webサービスを照会する場合は、おそらくサーバー上でプロキシを作成し、jQuery getリクエストでそれを照会する必要があります。例については、this siteを参照してください。

SOAP Webサービスの場合は、jqSOAPClient pluginを試してみるとよいでしょう。

3

私のような問題を抱えている人は、青田マルワンさんの答えに従ってください...コードには小さなタイプミスがあります。 "成功"の代わりに "成功"はスペルを変え、コードは正常に機能します。 Javaでは

1

、この戻り値は、jQueryのAjaxのに失敗GET:

return Response.status(200).entity(pojoObj).build(); 

しかし、これは動作します:

ResponseBuilder rb = Response.status(200).entity(pojoObj); 
return rb.header("Access-Control-Allow-Origin", "*").build(); 

---- 

全クラス:

@Path("/password") 
public class PasswordStorage { 
    @GET 
    @Produces({ MediaType.APPLICATION_JSON }) 
    public Response getRole() { 
     Contact pojoObj= new Contact(); 
     pojoObj.setRole("manager"); 

     ResponseBuilder rb = Response.status(200).entity(pojoObj); 
     return rb.header("Access-Control-Allow-Origin", "*").build(); 

     //Fails jQuery: return Response.status(200).entity(pojoObj).build(); 
    } 
} 
関連する問題