VueJS的新手。我有以下使用axios从Controller检索数据的代码:
SubmitForm: function () {
axios({
method: 'post',
url: '/Home/SubmitedForm',
data: { "Fields": this.$data }
}).then(res => {
alert('Successfully submitted the form ');
window.close();
}).catch(err => {
if (err.response.status == 409) {
alert(`Already exists. See details: ${err}`)
}
else {
alert(`There was an error submitting your form. See details: ${err}`)
}
});
当Controller方法SubmittedForm返回409时,我想抛出一个特定的警报,否则就抛出一个通用警报。基于此页面:https://gist.github.com/fgilio/230ccd514e9381fafa51608fcf137253我编写了上面的代码。但是,即使认为返回的http状态为409,它仍会显示一般警报。我敢肯定,我在这里缺少一些了解。有人可以帮我找出我在这里做错了什么吗?在localhost上可以按预期工作,但是在azure网站上发布后,它再次显示一般错误。
也许您的API端点阻止了CORS策略,然后您无法读取此类错误的状态(尽管该错误在开发工具的“网络”标签中可见)。
您可以安装一个浏览器扩展,例如“ CORS Anywhere”,以测试其是否正常运行,但是默认情况下,对CORS阻止的API的任何调用都会在浏览器的控制台中显示警告/错误。
可能是因为err.response.status是一个字符串,并且您正在与数字进行比较