我想在Javascript/Jquery函数中使用异常处理
I want to Use Exception Handling in Javascript / Jquery function
我的函数就像这个
// JavaScript Document
$('#MyFormSubmit').submit(function(){
try{
/* Ajax - 1 */
$.ajax({
url: 'Any',
type: 'GET',
data: 'ID',
contentType: "application/json;charset=utf-8",
success: function (data) {
alert("Success - 1");
},
error: function (x, y, z) {
alert("Error - 1");
}
});
/* Ajax - 2 */
$.ajax({
url: 'Any',
type: 'GET',
data: 'ID',
contentType: "application/json;charset=utf-8",
success: function (data) {
alert("Success - 2");
},
error: function (x, y, z) {
alert("Error - 2");
}
});
/* Ajax - 3 */
$.ajax({
url: 'Any',
type: 'GET',
data: 'ID',
contentType: "application/json;charset=utf-8",
success: function (data) {
alert("Success - 3");
},
error: function (x, y, z) {
alert("Error - 3");
}
});
}
catch(e){
alert(e);
}
});
其中我得到第一个错误,然后我想停止执行下一个ajax?怎么办?
在第一个ajax调用的错误块中,只需添加return false
。
error: function (x, y, z) {
alert("Error - 1");
return false;
}
请用这种方式编写代码
function fnMyFunction1(){
try{
if(success){
// call fnMyFunction2
}
else{
// Show Error message
}
}
catch(e){
// Show Exception message
}
}
使用try-catch处理异常。
try语句允许您测试代码块中的错误。
catch语句允许您处理错误。
throw语句允许您创建自定义错误。
try {
try_statements
if(condition) throw "Error";
}
[catch (exception_var_1 if condition_1) {
catch_statements_1
}]
...
[catch (exception_var_2) {
catch_statements_2
}]
[finally {
finally_statements
}]
您需要嵌套您的ajax调用,因为您的调用是异步的,每个调用都将立即进行到下一个调用,而无需等待请求完成。因此:
$('#MyFormSubmit').submit(function(){
try{
/* Ajax - 1 */
$.ajax({
url: 'Any',
type: 'GET',
data: 'ID',
contentType: "application/json;charset=utf-8",
success: function (data) {
alert("Success - 1");
/* Ajax - 2 */
$.ajax({
url: 'Any',
type: 'GET',
data: 'ID',
contentType: "application/json;charset=utf-8",
success: function (data) {
alert("Success - 2");
/* Ajax - 3 */
$.ajax({
url: 'Any',
type: 'GET',
data: 'ID',
contentType: "application/json;charset=utf-8",
success: function (data) {
alert("Success - 3");
},
error: function (x, y, z) {
alert("Error - 3");
}
});
}
catch(e){
alert(e);
}
},
error: function (x, y, z) {
alert("Error - 2");
}
});
},
error: function (x, y, z) {
alert("Error - 1");
}
});
});
使用以下编码样式
function f1(){
try{
if(success){
// call f2
}
else{
// Show Error message
}
}
catch(e){
// Show Exception message
}
}
相关文章:
- Javascript在处理函数时防止单击
- node.js和express中的异常处理
- 构造函数中的事件处理程序与构造函数外的事件处理函数的行为不同
- 测试抛出异常的函数
- 如何异步处理:函数C取决于函数B取决于函数A
- 在服务器上创建一个复选框,使用 javascript 处理函数
- JavaScript 异常处理未按预期工作
- tomcat服务器停止时UI上的异常处理
- 带异常处理的基数转换
- 处理函数中的异步调用(Firebase)
- 筛选器无法处理函数返回的值
- Javascript getJson异常处理
- 使用生成器进行异常处理
- 如何在保留 JavaScript 调试器功能的同时进行优雅的异常处理
- 事件处理函数不适用于“this”关键字
- 从 C# 执行 JS 代码的异常:预期函数
- 了解 JavaScript 中的异常处理:当更改 try/catch 块的位置时,获得不同的输出
- 将信息传递到 jQuery ajax 响应处理函数中
- Javascript 如何处理函数参数
- 我想在Javascript/Jquery函数中使用异常处理