2016-07-04 16 views
0

Ich habe nicht viel Erfahrung mit Ajax-Aufrufe (speziell mit API und Javascript). Ich benutze Microsoft Übersetzer-API mit Ajax. Darin bin ich eine Callback-Funktion in folgender Weise aufrufen:Microsoft Übersetzer api Ajax Callback ist asynchron und daher nicht die Antwort in ihrer respektierten Textbox

 ac.push(tgtId); 

     s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate" + 
     "?appId=Bearer " + encodeURIComponent(token) + 
     "&from=" + encodeURIComponent(src) + 
     "&to=" + encodeURIComponent(tgt) + 
     "&text=" + encodeURIComponent(elem.value) + 
     "&oncomplete=mycallback"; 

Ausgabe I zugewandt habe ist, dass ich entweder wollen diesen Anruf synchron machen oder einen Parameter in Callback-Funktion übergeben. Also, mein Code würde sich daran erinnern, dass bei der Rückgabe dieser Anfrage ich eine Antwort in der Rückrufmethode erhalte.

Zur Zeit habe ich versucht, ein Array namens "ac" zu halten und ID nach jeder Anfrage sequentiell in dieses Array geschoben und dann ID erhalten, indem ich folgenden Code in Callback-Methode verwendet habe.

function mycallback(response) 
{ 
id(ac[0]).value=response; 
ac.shift(); 

} 

Dieser Ansatz funktioniert jedoch nicht als, Ajax-Aufruf ist asynchron.

Jede Hilfe wird geschätzt.

Antwort

0

Da wurde noch keine spezifische Antwort erwähnt. Hier ist eine Fehlerbehebung, die ich für meine Website vorgenommen habe.

Ich konvertierte meinen Code in jquery und legte einen Async-Wert auf false fest.