如何从jQuery调用web服务

如何从jQuery调用web服务,jquery,web-services,Jquery,Web Services,我想从jQuery调用Web服务。我该怎么做呢?您可以像其他请求一样发出AJAX请求: $.ajax( { type:'Get', url:'http://mysite.com/mywebservice', success:function(data) { alert(data); } }) 编辑: OP并不打算使用跨域请求,但jQuery从v1.5开始就支持JSONP。具体请参见crossDomain参数 常规的jQueryAjax请求不会跨站点工作,因此如果您想要查询远程RESTful

我想从jQuery调用Web服务。我该怎么做呢?

您可以像其他请求一样发出AJAX请求:

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

})
编辑:

OP并不打算使用跨域请求,但jQuery从v1.5开始就支持JSONP。具体请参见
crossDomain
参数

常规的jQueryAjax请求不会跨站点工作,因此如果您想要查询远程RESTfulWeb服务,您可能需要在服务器上创建一个代理,并使用jQueryGet请求查询该代理。有关示例,请参见


如果它是一个SOAP web服务,您可能需要尝试。

我在博客中介绍了如何使用jQuery使用WCF服务:


这篇文章展示了如何直接用javascript创建服务代理。

万一人们在Marwan Aouida的回答后遇到了像我这样的问题。。。代码有一个小的输入错误。它不是说“success”,而是说“success”更改拼写,代码工作正常。

在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();
    }
}

请更正onSuccess处理程序的拼写。。。从成功到成功那很好,但是当你需要交叉的时候呢domain@kta,那么您将需要jsonpIt与堆栈溢出问题有点关联。如果我在下面发布的链接中回答得足够好,我建议关闭该问题