3

Windows 認証を持つ Web サービスにアクセスしようとしています。私は基本的にこのページに書かれていることのほとんどを使用しています:

$.ajax({
    url: url,
    method: 'GET',
    async: true,
    data: {},
    dataType: 'json',
    crossDomain: true,
    xhrFields: {
        withCredentials: true
    },
    beforeSend: function(xhr) {
        // set authorization header
        xhr.setRequestHeader("Authorization", "Basic " + Base64.encode(username + ":" + password));
    },
    success: function(data){
                // success
    },
    error: function(request, status, error) {
        // handle problem
    }
});

.plist ファイルで外部ホストも定義しました。私の問題は、常にエラーが発生することです。さらに悪いことに、少し役立つエラー関数は何も出力されません (この出力は単純化するために Firefox からのものです)。

Object { readyState=0, status=0, statusText="error"}

シミュレーターも試してみましたが、すぐにエラーが発生するのではなく、タイムアウトしたと思います。私が見ていて、使用しているのは、基本認証を使用したリクエストです。Windows認証を使用して実際にこれを実装する方法はありますか?

4

2 に答える 2

1

最後に私がしたこと:

 $.ajax( {
                             url:webServiceLink,
                             method: "GET",
                             timeout:30000,
                             data: "{}",  
                             dataType: "xml",
                             beforeSend : function(req) {
                             req.setRequestHeader("Authorization", 
                                                  make_base_auth (username,password));                             
                             },
                             success: OnGetMemberSuccess,
                             error: OnGetMemberError
                             });
                      });

私が入れた外部ホストでは:*


更新 1.0:再び動作を停止しました...

更新 2.0問題が見つかりました:

Base 64 エンコーディングは、次の文字を受け入れています。

_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

ログイン/パスワードを別のものにすると、問題が発生します。:)

于 2012-06-25T09:02:14.013 に答える
0

Access-Control-Allow-Headersを確認する必要があるかもしれません

于 2012-06-25T07:39:26.033 に答える