jQuery ajax调用Web服务(asmx)会触发身份验证弹出窗口

时间:2014-01-12 01:08:34

标签: jquery asp.net ajax web-services

在我的asp.net 4.0电子商务网络应用程序中,登录的客户可以点击诸如“过去6个月的订单”或“过去一年的订单”等锚点来查看他过去的订单。当点击这样的锚时,我对我的asmx web服务方法进行$ .ajax调用,以检索过去订单的列表并显示它们,如下所示:

$.ajax({
    type: "POST",
    url: "/webservices/OrderServices.asmx/GetOrderList",
    data: theParamter,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data){
        displayOrders(data);
    },
    error: function(errMsg) {
        alert(errMsg);
    }
});

c#中的Web服务方法非常简单,只是一种获取指定过去时间的订单列表的Web方法。

theparameter是在ajax调用之前获得的,这只是一个参数,表明客户是想查看过去6个月或过去一年的订单。

使用IIS Express在我的开发环境中完美运行。但在制作时,当用户点击任一锚点时,浏览器会弹出一个小的diablog框,要求用户输入用户名和密码。

造成这种情况的原因是什么? Web服务(asmx)不知道请求是从经过身份验证的客户发送的?如何防止浏览器显示身份验证弹出窗口?谢谢!

1 个答案:

答案 0 :(得分:2)

您的服务器可能没有为您的站点正确配置Windows安全性或安全性。请访问以下链接,指导如何禁用Windows安全性的步骤:

http://www.youtube.com/watch?v=CtpkXsWgcAM

http://technet.microsoft.com/en-us/library/cc731244(v=ws.10).aspx