1


1

JavaScriptでWebServiceを呼び出す

Webサービスを使用してasp.netでプロジェクトを行っています。 私のWebサービスとasp.netプロジェクトは別であり、asp.netプロジェクトにはWebサービスの参照があります

Visual Studio 2008 Framework 3.5を使用しており、サービスWebはvb.netにあります

JavaScriptでWebサービスのWebメソッドを呼び出したい

スクリプトマネージャーが宣言されています


JavaScript関数

function test() {
            alert('test');
            Service1.Liste_Carte(Onsucced);
        }

        function Onsucced(resultat) {
            alert('je suis passée');

        }

service1は私のWebserviceのクラスです

そして、ボタンで機能テストを呼び出します


問題は、JavaScriptがService1が定義されていないということですが、なぜですか? どうしたの?

3 Answer


0


Service1のネームスペースにアクセスできるかどうかを再確認してください。 呼び出しでASP.NET名前空間を使用する必要がある場合があります。これにより、次のようになります。

ServiceCompasNamespace.Service1.Liste_Carte(Onsucced);

例については、http://weblogs.asp.net/dwahlin/archive/2006/12/28/understanding-asp-net-ajax-web-service-proxies.aspxを参照してください。


0



私は同じ問題を解決しようとしているので、http://weblogs.asp.net/dwahlin/archive/2006/12/28/understanding-asp-net-ajax-によると、これがどこかに欠けている可能性があります。 web-service-proxies.aspx(上記のリンク)

そうは言っても、service.asmx / jsファイルが見つかりません…​ 生成するために何か特別なことがありますか?

編集、それは私のために働いています、ここにコードがあります:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>







        function callback(msg) {
            alert(msg);
        };

        function HelloWorld() {
            WebService.HelloWorld(callback);
        };





        click this


0


これはおそらく、クロスドメインのセキュリティ制限によるものです(ブラウザに関する限り、ポートが異なるとドメインも異なります)。

開発用ウェブサーバーを使用しているようです。 ローカルでデバッグする場合、個別のプロジェクトが異なるポートで実行されるため、この問題が発生します。

テストのために、IISを使用し、異なるトップレベルディレクトリを使用してアプリケーションを作成してみてください。これにより、両方がポート80で同時に実行できるようになります。