1

html ページから jQuery を使用して aspx ページで PageMethod を実行しようとしていますが、これはローカル マシンで正常に動作します。しかし、Web ページをリモートの実動 Web サーバーにデプロイすると、ajax 要求の実行時に 401 Unauthorized Error が発生します。私のコードは以下の通りです。

                  $.ajax({
                        type: 'POST',
                        url: 'SupplierMethods.aspx/GetAgeSummaryForPendingDocuments',
                        data: "{ 'supplierId': '" + vid + "'}",
                        dataType: 'json',
                        timeout: 180000, //3 minutes is timeout for this ajax request
                        contentType: "application/json; charset=utf-8",
                        beforeSend: function () {

                        },
                        success: function (json) {
                            stats = json.d.StatsBuckets;
                         },
                        error: function (xhr, textStatus, errorThrown) {
                            alert('An error occurred! ' + (errorThrown ? errorThrown : 
                            xhr.satus));
                        }

                    });
                });   

更新: 私の問題は、非常に些細なことによるものでした。Web サイトをリモート サーバーにコピーしましたが、dll をコピーするのを忘れていました。PageMethod は ASP.Net Web サイトで dll にコンパイルされます。これが欠落していたため、jQuery ajax を介して PageMethod を呼び出すと、エラー メッセージが返されました。したがって、AJAX 用の jQuery API は可能な限り優れているようです。

4

1 に答える 1

0

jQuery ajaxを使用して呼び出していたPageMethodを含むASP.Net Webサイトの新しいdllがリモートサーバーに展開されなかったため、この401エラーが発生しました。したがって、この話の教訓は、ファイルを見逃さないように、常に注意して Web サイトを展開することです。

また、jQuery で ajax を呼び出すための構文が構文に準拠していることも確認してください。

于 2012-11-11T22:25:24.370 に答える