为什么ajax调用中的错误文件路径会杀死整个javascript文件

Why does an incorrect file path in an ajax call kill an entire javascript file?

本文关键字:文件 javascript 路径 调用 错误 为什么 ajax      更新时间:2023-09-26

我的一个java script文件中有这个函数,它使用ajax请求来获取一些数据。我发现如果输入了错误的路径,即url不正确:

Ext.Ajax.request({ 
    url: comURL,
    method: 'GET',
    success: function(response) { 
        upMeet.innerHTML=response.responseText;
    },
    failure: function(response){
        alert("Failed to load Meetings. Please contact support");
    }
}); 

然后,整个页面无法识别javascript文件的3000多行代码的其余部分。

我已经修复了文件路径,但我仍然很好奇为什么错误的路径会使文件的其余部分无效(在所有浏览器中)。

我真的不知道Ext.Ajax.request是如何工作的,但当它发现一个"不可访问"的url时,可能会抛出异常。

为什么不尝试将代码封装在try-and-catch块中呢。如下所示:

try {
  Ext.Ajax.request({ 
            url: comURL,
            method: 'GET',
            success: function(response) { 
                upMeet.innerHTML=response.responseText;
            },
            failure: function(response){
                alert("Failed to load Meetings. Please contact support");
            }
        });
} catch (e) {
  console.log(e);
}

Javascript执行将因第一个未处理的错误而终止。这一定是在代码文件的早期某个时候提出的。

有关更多详细信息和具体参考(与抛出用户错误有关,但同样适用),请参阅:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/throw

throw语句引发用户定义的异常。执行当前函数将停止(throw之后的语句将不会执行),并且控制将被传递到调用堆栈。如果调用方函数之间不存在catch块,则程序将终止。