2017-05-25 4 views
0

Ich habe eine HTML-Seite mit 2 Skripten.Jquery eine scrpict Datei ausführen, nachdem eine andere Datei abgeschlossen

<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!"); 

weil script1 asynchron ist, script2 Lasten vor script1.

Wie kann ich script2 nur ausführen, nachdem scrpipt1 "alert (data)" ausgeführt hat? (Ich möchte halten "scrpit1.js" und "script2.js" Dateien getrennt).

UPD: vielleicht Missverständnis. Ich möchte zuerst "alert (data)" von script1 ausführen, und dann "alert (" Script1 hat abgeschlossen! ")" Von script2 (Ich möchte die letzte Warnung GENAU aus script2 ausführen, nicht scrpipt1 !!!).

+0

verwenden sie keine ''

0

Ihr zweites Skript direkt zu verwenden, ausgeführt werden, es wird nicht warten, bis Sie Ajax-Aufruf beendet ist. was Sie brauchen, ist eine Funktion Sie anrufen können, wird es nicht direkt ausgeführt werden, aber wenn es heißt, aber es muss festgelegt werden, bevor es

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

    $.ajax({ 

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

      two(); 

      }   
     }); 
    }; 

    one(); 

genannt wird dieses Verfahren Codierung genannt wird

0

Sie tun sollen es wie so

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

... 
success:function (data) { 
    alert(data); 
    $("head").append(script);//$("body") 
} 
... 
Verwandte Themen