代码之家  ›  专栏  ›  技术社区  ›  Jalpesh Vadgama

如何从jquery调用Web服务[重复]

  •  28
  • Jalpesh Vadgama  · 技术社区  · 15 年前

    这个问题已经有了答案:

    我想从jquery调用WebService。我该怎么做?

    5 回复  |  直到 15 年前
        1
  •  29
  •   theIV    14 年前

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

    $.ajax( {
    type:'Get',
    url:'http://mysite.com/mywebservice',
    success:function(data) {
     alert(data);
    }
    
    })
    
        2
  •  7
  •   John G    12 年前

    编辑:

    OP不希望使用跨域请求,但jquery支持从v1.5开始的jsonp。见 jQuery.ajax() 具体来说, crossDomain 参数。

    常规的jquery-ajax请求不能跨站点工作,因此,如果您想查询远程RESTful Web服务,您可能需要在服务器上创建一个代理,并使用jquery-get请求进行查询。见 this site 举个例子。

    如果是SOAP Web服务,您可能希望尝试 jqSOAPClient plugin .

        3
  •  3
  •   poeticGeek    15 年前

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

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

    文章展示了如何直接在javascript中创建服务代理。

        4
  •  3
  •   Rob Cartlidge    14 年前

    如果人们有像我这样的问题,按照MarwanAouida的回答…代码有一个小的打字错误。它不是说“成功”,而是说“成功”改变拼写,代码工作正常。

        5
  •  1
  •   Peter Mortensen code4jhon    9 年前

    在爪哇中,返回值用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();
        }
    }