0

次のように、Web サービスへの JQuery ajax 呼び出しを行っています。

    $.ajax({
        type: "POST",
        url: "https://WebsiteName.com/Service.asmx/LoginExternal",
        data: "{loginData: " + JSON.stringify(LoginData) + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            ... Stuff ...
        },
        error: {
            ... Error Alert ...
        }
    });

私が実際の Web サイトにいるとき、これは成功します。ローカルホストで相対パスを使用すると、成功します。ただし、localhost から (絶対パスを使用して) Web サイトにアクセスしようとすると、呼び出しに失敗したというエラー メッセージが表示されます。

これは、アクセス許可の問題であることを示しているようで、web.config が Web サービスへのアクセスに認証を必要としないことを確認しましたが、他に何を確認すればよいかわかりません。どんな助けでも大歓迎です!

更新:私が取得している「thrownError」は「トランスポートなし」です-うまくいけば役に立ちます。

4

2 に答える 2

1

セキュアでないスクリプト ロジックであるため、JavaScript (または JQuery) を使用して作成された ajax リクエストは、認証も暗号化もされていないリクエストのために、同じホスト、プロトコル、およびポートでスタックします。

リクエストを別のホストに渡す方法。安全な言語 (Java など) で記述されたブリッジ サービスを実装し、同じホストにデプロイしてリクエストをさらにサービスに渡し、応答を ajax 呼び出しに渡す必要があります。

あなたのajax呼び出しはブリッジサービスになります。

于 2012-07-05T14:51:12.867 に答える
1

安全:

http://en.wikipedia.org/wiki/Same_origin_policy

于 2012-07-05T14:39:02.223 に答える