【问题标题】:How to call a web service from jQuery [duplicate]如何从 jQuery 调用 Web 服务 [重复]
【发布时间】:2009-05-14 06:09:12
【问题描述】:

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

【问题讨论】:

标签: jquery web-services


【解决方案1】:

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

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

})

【讨论】:

  • 请更正 onSuccess 处理程序的拼写...从成功到成功
  • 很好,但是当你需要跨域时怎么样
  • @kta,那么你将需要 jsonp
【解决方案2】:

编辑:

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

常规的 jQuery Ajax 请求不能跨站点工作,因此如果您想查询远程 RESTful Web 服务,您可能必须在您的服务器上创建一个代理并使用 jQuery get 请求进行查询.示例见this site

如果是 SOAP Web 服务,您可能想试试jqSOAPClient plugin

【讨论】:

    【解决方案3】:

    我写了一篇关于如何使用 jQuery 使用 WCF 服务的博客:

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

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

    【讨论】:

      【解决方案4】:

      以防人们在遵循 Marwan Aouida 的回答后遇到像我这样的问题......代码有一个小错字。而不是“成功”它说“成功”改变拼写和代码工作正常。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-24
          • 2012-06-18
          • 1970-01-01
          • 1970-01-01
          • 2011-12-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多