我目前正在努力处理$.getJSON()
并产生.fail()
功能。我试图得到它,以便当$.getJSON()
失败时,它会将变量值更改为其他值 - 例如:
var mangoes = $.getJSON("mangoesurl.com/json").fail(mangoes="{value:0}");
我不能使用另一个变量,因为我之后也使用$.when()
从芒果JSON中检索数据。
有人知道这是否可行,我该怎么做或另类?非常感谢任何帮助,谢谢。
var mangoes = $.getJSON("mangoesurl.com/json").fail(mangoes="{value:0}");
var mangoes2 = $.getJSON("mangoesurl.com/json2").fail(mangoes="{value:0}");
$.when(mangoes, mangoes2).then(data1, data2){
}
答案 0 :(得分:2)
如果我理解正确,这就是你需要的:
var mangoes = $.getJSON("mangoesurl.com/json").fail(function(){
return {value:0};
});
这样, mangoes 在响应后为空。基本上这个代码获得了JSON,但对它没有任何作用。 要将JSON结果放入 mangoes ,您需要这样:
var mangoes = $.getJSON("mangoesurl.com/json")
.success(function(response){
return response;
});
.fail(function(){
return {value:0};
});
使用When sintax,你无法将内容分配给芒果......你必须改变逻辑
var mangoes, mangoes2;
var deferred1 = $.getJSON("mangoesurl.com/json");
var deferred2 = $.getJSON("mangoesurl.com/json2");
$.when(deferred1, deferred2).then(function(data1, data2){
mangoes = data1;
mangoes2 = data2;
}, function(error){
mangoes || mangoes = {value:0};
mangoes2 || mangoes2 = {value:0};
});