【问题标题】:Consume SOAP webservice using jQuery使用 jQuery 使用 SOAP Web 服务
【发布时间】:2010-09-24 13:04:06
【问题描述】:

我有一个 Java SOAP Web 服务,需要使用 jQuery 从 HTML 页面调用。有人可以告诉我该怎么做吗?我是新手。

【问题讨论】:

    标签: jquery html web-services soap


    【解决方案1】:

    快速谷歌搜索显示有一个 jquery 插件:

    http://plugins.jquery.com/project/jqSOAPClient

    可从此链接下载、示例和更多信息。

    【讨论】:

    • 你能告诉我从哪里下载示例。我无法在上述网址中找到
    • 令人讨厌的是,你是对的——该页面上的链接似乎都被破坏了。 Grr。甚至没有功能下载链接。我应该在发布之前检查一下。此链接可能会对您有所帮助 - 它看起来包含原始源代码(顶部还有一些额外内容):plugins.jquery.com/files/jquery.soapRequest.js.txt
    • jquery.com 已更改其 URL。现在项目链接为:http://plugins.jquery.com/soap/。 +1 是这里唯一有效的解决方案。
    【解决方案2】:

    有一个相对较新的插件可用:

    http://plugins.jquery.com/soap/

    我分叉了这个项目,并且一直在进行一些修改(插件没有处理我正在使用的服务)。我希望在某个时候合并我的更新,但很高兴收到任何反馈。

    https://github.com/zachofalltrades/jquery.soap

    【讨论】:

      【解决方案3】:

      嘿,这里是链接,您可以通过此链接获得更简单的用法。

      http://www.andrewrowland.com/article/display/consume-dot-net-web-service-with-jquery

      如果它解决了你的问题,请回答。

      谢谢

      【讨论】:

      • 这是一个指向服务 JSON 请求的代码的链接。它没有用,也没有回答问题。
      【解决方案4】:

      你可以按照下面的方式做到这一点。

      $(document).ready(function() {
          $('input:button').addClass("btnClass");
          fillData();
          $('#btnGet').click(function() {
              fillData();
          });
          function fillData() {
              $.ajax({
                  type: "Post",
                  url: "../myService.asmx/getStudent",
                  contentType: "application/json; charset=utf-8",
                  dataType: "json",
                  success: function(msg) {
                      //var nMsg = (typeof msg.d) == 'string' ? eval('(' + msg.d + ')') : msg.d;
                      var t = "<table width='80%' id='resTab'> <tr>" +
                            "<td colspan='5' style='text-align:center'><font size='3'><strong>Your Search Result......</strong></font></td></tr> <tr><td style='text-align:left' colspan='5'><hr></td></tr> "
                            + " <tr><td style='text-align:center'>Student ID</td><td style='text-align:center'>Student Name</td><td style='text-align:center'>Student Course</td><td style='text-align:center'>Student USN</td></tr>"
                            + " <tr><td style='text-align:left' colspan='5'><hr><br></td></tr> ";
                      $.each(msg.d, function(index, item) {
                      t = t + " <tr><td style='text-align:center'>" + item.studId + "</td><td style='text-align:center'>" + item.studName + "</td><td style='text-align:center'>" + item.studCourse + "</td><td style='text-align:center'>" + item.studUsn + "</td><td><input type='button' ID='btn-" + item.studId + "' value='Delete' class='new-button' />&nbsp;&nbsp;&nbsp;<input type='button' ID='upd-" + item.studId + "' value='Update' class='upd-button' /></td></tr>";
                          t = t + " <tr><td style='text-align:left' colspan='5'><hr></td></tr> ";
                      });
                      t = t + " </table> ";
                      $("#stdData").html(t);
                  },
                  error: function(msg) { }
              });
          }
      

      这里我将数据显示到一个 div 中............

      所以如果解决了,如果有任何查询 ping 我,请回复我。

      【讨论】:

      • +1 用于不格式化您的代码 - 至少让 OP 为 'plz send teh codez' 工作一点(顺便说一句,我不知道这是否有效,但赞成票似乎仍然有道理)
      • 我猜这是对 REST Web 服务的请求。因为我有一个 java SOAP web 服务。
      • 呃……不。这不是 SOAP 请求,而是 JSON 请求。如果将此代码连接到 SOAP 服务,它将失败。 -1
      猜你喜欢
      • 2011-10-24
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      相关资源
      最近更新 更多