1

奇怪的是,我坚持使用 jquery 2.0.0 使用以下代码:

$.when(
 $.getJSON('get_one.php', function(data) { code_1 },
 $.getJSON('get_two.php', function(data) { code_2 }
 ).done(function() {

   //ready_program_block 
   $.getJSON('get_three', function(data) { code_3 });

 }

所以,这很有效(或者至少我是这么认为的),直到我决定更改 ready_program_block 的那一刻。现在旧的 ready_program_block 被执行(出现预期的错误并在 FireBug 中正确报告)。

查看同一个 FireBug 的脚本部分,我发现我的 javascript 来自my_site.com/jquery-2.0.0.min.js/eval/seq/,它被命名为“2”,而不是来自my_site。 com/my_script.js它应该在哪里。

那么,什么是 jquery/eval/seq/ 以及为什么我不能更改我的代码?尽管如此,我还是没有重命名 my_script.js,我认为最终这将断开与 eval/seq/ 的连接,但首先我想解决这个奇怪的问题。

关于脚本:我希望仅在从浏览器正确接收前 2 个 getJSON-s 的所有数据之后才执行 ready_program_block (分别为 $.getJSON('get_three', ...) ,而不是在此之前,可能有一种更好的方法。

4

0 回答 0