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 は可能な限り優れているようです。