簡體   English   中英

Ajax 調用返回錯誤 401 Unauthorized

[英]Ajax call returning error 401 Unauthorized

我正在使用 HTML 和 JavaScript (jQuery) 開發 Web 應用程序,用於數據庫通信我在 C# 中使用 .asmx Web 服務。

在本地計算機和本地 IIS 上部署我的應用程序工作正常。 問題是,現在我需要在公司的 Web 服務器上部署我的應用程序,現在每個 ajax 調用都不起作用並返回錯誤 401 奇怪的是,如果我輸入 ajax 調用 url(顯示 asmx Web 服務),然后返回我的網站並重新加載頁面,現在所有 ajax 調用都有效。 例如:

$.ajax({
   url: "http://192.168.46.87/MyApp/ws_WebService.asmx/Login"

此 ajax 調用返回錯誤 401,之后如果我輸入 url http://192.168.46.87/MyApp/ws_WebService.asmx,我的 Web 服務已加載,如果我重新加載網頁的選項卡,現在 ajax 調用工作正常。

這是我的ajax調用:

function CallWM(webMethod, JSONToSend, callBackFunction, extraData) {
    try {
        $.ajax({
            type: 'POST',
            url: "http://192.168.46.87/MyApp/" + webMethod,
            contentType: 'application/json',
            dataType: 'json',
            data: JSON.stringify(JSONToSend),
            success: function (data, strErr, xhr) {
                callBackFunction(data.d, extraData);
            },
            error: function (xhr, textStatus, errorThrown) {
                bootbox.alert("Error calling the server!\n" + xhr.statusText);                                
                console.log(xhr.statusText);
                console.log(xhr);
                $.unblockUI();
            }
        });
    }
    catch (err) {
       bootbox.alert("Error calling the server!\n" + err.message);
       $.unblockUI();
    }
}

我已經嘗試更改服務器 IIS 上的身份驗證類型,使用 ajax 調用發送我的憑據,但我收到相同的錯誤消息,我還可以嘗試什么其他方法或可能是什么問題?

PD。 在我的本地 IIS 上運行良好,現在的問題是我正在將我的應用程序移動到 Web 服務器。

最后我可以解決這個問題,這里是我的情況下的解決方案。

在我的應用程序路徑上,我有一個 Web.config,其中我沒有任何與身份驗證相關的內容,但我發現在 IIS inetpub 應用程序文件夾根目錄上還有另一個 Web.config,在該文件中我看到有一些關於身份驗證的內容,刪除該解決方案我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM