C# Ajax调用返回错误401

C# Ajax调用返回错误401,c#,ajax,web-services,iis-7.5,windows-server-2012,C#,Ajax,Web Services,Iis 7.5,Windows Server 2012,我正在使用HTML和JavaScript(jQuery)开发一个web应用程序,对于数据库通信,我正在使用C#中的.asmx web服务 在本地计算机和本地IIS上部署我的应用程序效果良好。问题是,现在我需要在公司的web服务器上部署我的应用程序,而现在是每个ajax调用都不起作用,返回错误401。奇怪的是,如果我输入ajax调用url(显示asmxweb服务),然后返回到我的网站,现在重新加载页面,所有ajax调用都可以工作。例如: $.ajax({ url: "http://192.1

我正在使用HTML和JavaScript(jQuery)开发一个web应用程序,对于数据库通信,我正在使用C#中的.asmx web服务

在本地计算机和本地IIS上部署我的应用程序效果良好。问题是,现在我需要在公司的web服务器上部署我的应用程序,而现在是每个ajax调用都不起作用,返回错误401。奇怪的是,如果我输入ajax调用url(显示asmxweb服务),然后返回到我的网站,现在重新加载页面,所有ajax调用都可以工作。例如:

$.ajax({
   url: "http://192.168.46.87/MyApp/ws_WebService.asmx/Login"
这个ajax调用返回错误401,之后如果我输入url,我的web服务将被加载,如果我现在重新加载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调用发送凭据,但是我收到了相同的错误消息,我还可以尝试什么,或者可能出现什么问题


警察局。在我的本地IIS上工作正常,问题是现在我正在将我的应用程序移动到web服务器。

最后我可以解决这个问题,下面是我的解决方案


在我的应用程序路径上,我有一个Web.config,其中没有任何与身份验证相关的内容,但我发现在IIS inetpub应用程序文件夹根上有另一个Web.config,在该文件上,我看到了关于身份验证的内容,删除它可以解决我的问题。

您的数据库也在同一台服务器上还是在不同的服务器上?您正在使用哪个身份验证?您正在使用哪个应用程序池标识?@JalpaPanchal数据库位于不同的服务器上,我没有使用特定的身份验证我有自己的登录表单但是,在IIS上检查了匿名身份验证和表单身份验证,我如何检查池标识?