在我的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)不知道请求是从经过身份验证的客户发送的?如何防止浏览器显示身份验证弹出窗口?谢谢!
答案 0 :(得分:2)
您的服务器可能没有为您的站点正确配置Windows安全性或安全性。请访问以下链接,指导如何禁用Windows安全性的步骤:
http://www.youtube.com/watch?v=CtpkXsWgcAM
http://technet.microsoft.com/en-us/library/cc731244(v=ws.10).aspx