2023-02-16 460
我有代码可以在JavaScript中对我的Web服务进行呼叫,如下所示:
$.ajax(
{
url: url,
data: json,
type: "POST",
processData: false,
contentType: "application/json",
timeout: 10000,
dataType: "text",
global: false,
success: function (result, jqXHR)
{
sccParams = {
result: result,
jqXHR: jqXHR,
}
successResult(sccParams)
},
error: function (jqXHR, textStatus, errorThrown)
{
errParams = {
jqXHR: jqXHR,
textStatus: textStatus,
errorThrown: errorThrown,
}
errorHandler(errParams);
}
});
这正常工作,除非MS Edge有401个错误.在这种情况下,我可以看到Ajax调用被触发,但看起来MS Edge跳入并处理错误,并且我的成功或错误功能都没有调用.我的ErrorHandler有可以处理401错误的代码,但这永远无法运行,而是在控制台日志中看到以下内容:
HTTP401: DENIED - The requested resource requires user authentication.
(XHR)POST - https://www.mywebsite.co.uk/WebService.svc/MyWebServiceRoutine
我的Web服务托管在Azure中并使用ASPNET_MEMBERSHIP.
如何使MS Edge退缩并让我处理自己的错误?其他浏览器正常工作.
原因似乎是,要检查Internet连接,我的代码拨打了HTTP网站.由于我的网站是HTTPS网站,因此MS Edge认为这种行为可疑.因此,每当我随后尝试访问我的Web服务时,MS Edge介入并拒绝了我的网站访问.
我已将呼叫替换为HTTP网站的呼叫,现在都可以正常工作.
以上所述是小编给大家介绍的MS Edge处理401错误,从而绕过了我的错误处理程序。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/34073.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态