0

PHP 5.2 の SoapServer 機能を使用しようとしています。以下に示すように、soapserv.phpをセットアップします。しかし、PHP 以外の言語 (WSDL なし) で「add」関数を呼び出す方法がわかりません。AJAX(jQuery)で呼び出したい。どんな助けでも大歓迎です!

<?php
    function add($a, $b) {
      return $a + $b;
    }

  $soap = new SoapServer(
    null,
    array('uri' => 'http://example.com/projects/php/soapserv/')
  );
  $soap->addFunction("add");
  $soap->handle();
?>

そして、私の JavaScript は次のようになります (ただし、いくつかの方法を試しました)。

var req = $.post("http://example.com/projects/php/soapserv", {"add":{a: 1, b: 2}});

            req.done(function(msg){
                document.write(msg.responseText);
            });

            req.fail(function(msg){
                document.write(msg.responseText);
            });
4

1 に答える 1

0

了解しました...投稿データを石鹸の封筒に変更する必要がありました。

        var request = "<?xml version=\"1.0\"?>\n";
        request += "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\">\n";
        request += "<soap:Body xmlns:m=\"http://example.com/projects/php/soapserv\">\n";
        request += "<m:add>\n";
        request += "<m:a>1</m:a>\n";
        request += "<m:b>2</m:b>\n";
        request += "</m:add>\n";
        request += "</soap:Body>\n";
        request += "</soap:Envelope>";

        var req = $.ajax({
           type: "POST",
           url: "http://example.com/projects/php/soapserv",
           data: request,
           cache: false
        });
于 2012-09-07T20:38:34.473 に答える