更改失败功能中的变量值

时间:2017-06-25 18:52:32

标签: javascript jquery json getjson

我目前正在努力处理$.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){

}

1 个答案:

答案 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};
});