1

json (jsonp ではない) を返すページに対して (IE 10 を使用して) ajax 呼び出しを実行しようとしていますが、「401 - 権限がありません: 資格情報が無効なため、アクセスが拒否されました」というメッセージが引き続き表示されます。サイトは IIS で「Windows 認証」を使用するように設定されていますが、サイトを変更して匿名認証を有効にすると、呼び出しが機能します。以下は、私が呼び出しを行うために使用しているコードです。通話で何が欠けているか、または Web サーバーで何を変更する必要がありますか? Windows 認証は現在、Windows 認証で NTLM 認証を使用するように設定されています。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="scripts/jquery-2.0.3.min.js"></script>
    <script src="scripts/base64.js"></script>
    <script type="text/javascript">
        function QueryMyData() {
            var postUrl = 'http://mydevpage/storage.ashx';
            var data = 'AssetNumber=102405';
            $.support.cors = true;
            $.ajax({
                type: "POST",
                url: postUrl,
                data: data,
                dataType: 'json',
                crossDomain: true,
                cache: false,
                username: "mydomain.net\\myuser",
                password: "password",
                beforeSend: function (xhr) {
                    xhr.withCredentials = true;

                },
                success: function (result) {
                    if (result) {
                        if (result.error)
                            alert(result.error);
                        else
                            alert(result.id);
                    }
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    alert('Unknow Error:' + thrownError + ajaxOptions + xhr.status + " " + xhr.statusText);
                }
            });
        }
        QueryMyData();
    </script>
</head>
<body>
</body>
</html>
4

1 に答える 1