Одна проблема, которую я вижу здесь, заключается в том, что ваш второй вызов getJSON происходит независимо от того, был ли первый вызов успешным или неудачным, и из кода, который вы опубликовали, нет способа узнать, был ли # Result1 установлен правильно.
Если вы посмотрите документацию по API getJSON:
http://api.jquery.com/jQuery.getJSON/
Он покажет вам, как структурировать ваш первый getJSON так, чтобы у вас были некоторые обработанные ответы типа "сделано / не выполнено / всегда".
Если память не изменяет, это не вся ваша проблема. Когда мне нужно было выполнять ajax-вызовы, которые должны происходить по порядку, в прошлом я использовал очереди и обработку вызовов.
Быстрый пример постановки в очередь
<html>
<header>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
<script>
function fakey_not_ajax(message, callback) {
alert (message);
callback();
}
function queue_my_stuff( kick_it_off_callback ) {
$(document).queue("mydemo_queue", function(){
fakey_not_ajax("show me first", function() {
$(document).dequeue("mydemo_queue");
});
});
$(document).queue("mydemo_queue", function(){
fakey_not_ajax("show me second", function() {
$(document).dequeue("mydemo_queue");
});
});
kick_it_off_callback();
}
function push_the_button() {
alert ("pushed");
queue_my_stuff(
function(){
$(document).dequeue("mydemo_queue");
}
);
}
</script>
</header>
<body>
Try this
<a href="#" onclick="push_the_button();">Push Me</a>
</body>
</html>