Javascript getJSON错误处理-使用2个API
首先,这不是另一个跨域错误。我正在开发一个简单的webapp,它使用两个api(main和backup)从不同的服务器检索相同的数据。我使用以下模式:Javascript getJSON错误处理-使用2个API,javascript,json,ajax,getjson,Javascript,Json,Ajax,Getjson,首先,这不是另一个跨域错误。我正在开发一个简单的webapp,它使用两个api(main和backup)从不同的服务器检索相同的数据。我使用以下模式: //some functions and variables for DOM handling $.getJSON(mainUrl, function(results) { //code to get and handle the data from main API }).fail(function() { $.get
//some functions and variables for DOM handling
$.getJSON(mainUrl, function(results) {
//code to get and handle the data from main API
}).fail(function() {
$.getJSON(backupUrl, function(results) {
//code to get and handle the data from backup API
});
});
问题在于,主API可能在许多方面失败:
//some functions and variables for DOM handling
$.getJSON(mainUrl, function(results) {
if (results.property) {
//code to get and handle the data from main API
} else {
//code to get and handle the data from backup API
}
}).fail(function() {
$.getJSON(backupUrl, function(results) {
//code to get the data from backup API
});
});
然而,本质上,我在main.js文件的两个地方有相同的代码块,这似乎不是一个好的做法
你们能帮我妥善解决这个案子吗,避免把同一个代码放在同一个地方两次?谢谢。将
//代码放置在函数中,从备份API中获取数据,然后在放置该代码的任何位置调用该函数,怎么样
你最终会得到这样的结果
//some functions and variables for DOM handling
$.getJSON(mainUrl, function(results) {
if (results.property) {
//code to get and handle the data from main API
} else {
getJSONFromBackup();
}
}).fail(function() {
getJSONFromBackup();
});
function getJSONFromBackup(){
$.getJSON(backupUrl, function(results) {
//code to get the data from backup API
});
}
把//代码放在一个函数中,从备份API中获取数据,然后在任何地方调用该函数,怎么样
你最终会得到这样的结果
//some functions and variables for DOM handling
$.getJSON(mainUrl, function(results) {
if (results.property) {
//code to get and handle the data from main API
} else {
getJSONFromBackup();
}
}).fail(function() {
getJSONFromBackup();
});
function getJSONFromBackup(){
$.getJSON(backupUrl, function(results) {
//code to get the data from backup API
});
}
好吧,我想这行得通。我深入研究了json错误处理程序,以至于我没有注意到显而易见的一点,我的上帝……:)谢谢,我想这行得通。我深入研究了json错误处理程序,以至于我没有注意到显而易见的一点,我的上帝……:)谢谢