web-dev-qa-db-ja.com

jQueryからWebサービスを呼び出す方法

JQueryからWebサービスを呼び出したい。どうやってやるの?

28
Jalpesh Vadgama

AJAXリクエストを他のリクエストと同様に行うことができます:

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

})
29
user434917

編集:

OPはクロスドメインリクエストの使用を検討していませんでしたが、jQueryはv1.5の時点でJSONPをサポートしています。 jQuery.ajax() 、特にcrossDomainパラメーターを参照してください。

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

SOAP Webサービスの場合、 jqSOAPClientプラグイン を試してください。

7
John G

JQueryを使用してWCFサービスを利用する方法についてブログに書きました:

http://yoavniran.wordpress.com/2009/08/02/creating-a-webservice-proxy-with-jquery/

投稿では、JavaScriptでサービスプロキシを作成する方法を示しています。

3
poeticGeek

Marwan Aouidaの答えに続いて、私のような問題を抱えている人がいる場合...コードにはちょっとした誤字があります。 「成功」の代わりに、「成功」はスペルを変更し、コードは正常に動作すると言います。

3
Rob Cartlidge

Javaでは、この戻り値は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();
    }
}
1
Frank Taylor