2017-05-25 63 views
0

我有一個帶有2個腳本的html頁面。jquery在一個文件完成後運行一個scrpict文件

<script type="text/javascript" src="script1.js"></script> 
<script type="text/javascript" src="script2.js"></script 

script1.js:

  function one() { 

        $.ajax({ 

         type: 'get', 
         url: 'one.txt', 
         success:function (data) { 

          alert(data); 

          }   
         }); 
     }; 

     one(); 

script2.js:

alert('Script1 Has Completed!"); 

因爲SCRIPT1是異步的,SCRIPT1前SCRIPT2負荷。

我該如何讓script2只在scrpipt1執行「alert(data)」後才能運行? (我想保持「scrpit1.js」和「script2.js」文件分開)。

UPD:也許誤會。我想先從script1運行「alert(data)」,然後從script2運行「alert(」Script1 has Completed!「)」(我想從script2運行最後的警報,而不是scrpipt1 !!!)。

+0

不要使用'

0

你的第二個腳本將被直接執行,它不會等到你Ajax調用完成。你需要的是你可以調用一個函數,它不會直接執行,但是當它被稱爲,但它有它被稱爲

function two(){ 
    alert("ajax call done"); 
    } 
    function one() { 

    $.ajax({ 

     type: 'get', 
     url: 'one.txt', 
     success:function (data) { 

      two(); 

      }   
     }); 
    }; 

    one(); 

之前定義這就是所謂的程序編碼

0

你應該這樣做它就像這樣

var script = document.createElement('script'); 
script.src = "script2.js"; 

... 
success:function (data) { 
    alert(data); 
    $("head").append(script);//$("body") 
} 
... 
相關問題