1

MVC アプリに含まれる Web サービスに大きな問題があります。MVC アプリを作成し、IIS 7.0 でホストしています。すべてが完璧に機能します。このプロジェクトに Web サービス (もちろん、WS が既に存在するため、WCF の場合もあります) を追加する必要があります。そのため、Visual Studio 2010 で新しい項目を追加し、現在のプロジェクトに Web サービスを選択しました。開発マシンでは問題ありません。すべてうまくいきます。しかし、プロジェクト全体を (別のサーバー上にある) IIS に公開しようとすると、MVC アプリに WS が表示されません。

それが、MVC で WS を呼び出す方法です。

 $('#test').click(function test2() {
     alert('start');

     $.ajax({
         type: "POST",
         url: "/../WebServicePrzeczytany.asmx/HelloWorld",
         data: "{}",
         dataType: "xml",

         success: function suc(msg) {
                alert("recieved: " + msg.text);
                 },
         faild: fail
     });

     alert('stop');
 });

 function fail() {
     alert("doesn't work");
 };

ご覧のとおり、jquery です。しかし、私の質問は次のとおりです。なぜ機能しないのですか? IIS で何かを設定または構成する必要がありますか?

助けや手がかりに感謝します。

マルシン

4

3 に答える 3

1

Web サービスの URL が正しくありません。"/../WebServicePrzeczytany.asmx/HelloWorld" アプリは、上記のような相対 URL ではなく、公開された Web サービスを指している必要があります。URLは次のようになります http://someipaddressordomainname/WebServicePrzeczytany.asmx/HelloWorld

于 2013-02-14T08:08:16.743 に答える
0

JavaScriptを介してWebサービスへのクライアント側呼び出しを呼び出している、または実行しているというクロスドメインポリシーに違反するアプローチを行っています。ただし、次の条件を満たしていれば、JSONP を使用して ajax 経由でサービスを実行または呼び出す場合は、既に既存のアプローチがあります。

* Web サービス コードを制御できます。つまり、コードを変更して、JSONP 用にカスタマイズできます。

*すべての Web サービス応答を JSONP コールバックにラップします。

詳細については、http://api.jquery.com/jQuery.ajax/を参照してください。

JSONP がなければローカルで動作しますが、ライブ環境にいる場合は動作しません。

于 2013-02-14T08:15:27.967 に答える
0

あなたのURLは奇妙に見えます。公開する前に絶対 URL ( http://example.com/some/path/WebServicePrzeczytany.asmx/HelloWorld ) を指定しようとしましたか?

于 2013-02-14T08:03:12.117 に答える