2009-02-25 6 views
5

:ここWindows認証が有効になっているときにajaxを使用してWebサービスを呼び出しますか?私はジャバスクリプトからWebサービスメソッドを呼び出ししようとしています

function Search() { 

     var context = new Object; 
     context.Filter = "Test"; 

     SearchService.GetSearch(context, onSuccess, onFailed); 
    } 

    function onSuccess(result) { 
     // userContext contains symbol passed into method 
     var res = document.getElementById("resultsDiv"); 
     res.innerHTML = result; 
    } 

    function onFailed(result) { 
     var res = document.getElementById("resultsDiv"); 
     res.innerHTML = result.get_message(); 
    } 

は、Webサービスの署名です:

[WebMethod] 
    public SearchComboBoxItemData[] GetSearch(object context) 
    { 

私は、フォーム認証を使用すると、Webサービスへの匿名アクセスを許可すると、すべての作品良い。

無効なWebサービス呼び出し、パラメータの欠損値::私は、アプリケーションのWindows認証を使用しますが、唯一のJavaScriptからWebサービスを呼び出して、Webサービスへの匿名アクセスを許可する場合

ただし、次のエラーがスローされます "コンテキスト'。

私が気付いたもう一つのことは、Firefoxでうまく両方の方法で動作することです。私はIE7のエラーを見ている。

考えられる解決策に関する考えはありますか?

+0

サービスへの匿名アクセスと認証アクセスの両方を有効にするとIEから機能しますか? –

+0

この問題の解決策を見つけましたか、私は同じ問題を抱えています。ありがとう。 – Picflight

答えて

0

あなたはASP.NET Ajaxを使用していると仮定します。

あなたは追加することを試みることができる:あなたのweb.configファイルのModulesセクションに

preCondition="integratedMode" 

属性を。

希望これは、あなたが統合認証を使用しているように聞こえる、とIEがログインしましたが、Firefoxはしていない

0

に役立ちます。 IEがログインしているユーザー名を確認することができます。

また、の線に沿って何か:

var temp = ""; 
for(prop in context){ 
    temp +=prop+"= "+context[prop]+"\n"; 
} 
alert(temp); 

は、コンテキストが含まれているだけで何を参照してください。

関連する問題