var query1 = urlencode($('input[name="searchTerm1"]').val()); //user1
var query2 = urlencode($('input[name="searchTerm2"]').val()); //user1
var rpp = 20; //number of tweets to retrieve out
var c=0;
var f1=new Array();
var f2=new Array();
var common=new Array();
$.getJSON('http://twitter.com/followers/ids.json?screen_name='+ query1 + '&callback=?',
function(data) {
f1=data;
$('#content').append('p'+f1[0]+'p');//this one is coming
});
$.getJSON('http://twitter.com/followers/ids.json?screen_name='+ query2 + '&callback=?',
function(data1) {
f2=data1;
});
$('#content').append('p'+f1[0]+'p');//this one is not coming...its showing Undefined
})
In diesem Code, wenn u deutlich sehen, habe ich identifiziert mit // zwei Aussagen anhängenUmfang Variable in Javascript Problem
einer von ihnen arbeitet und die Nummer in der Reihe ausgibt
aber die ein anderer gibt Undefined aus
Ich habe die Arrays so definiert, dass sie die Werte annehmen sollten, aber wat tatsächlich passiert ist, dass das Array außerhalb der $ .getJSON-Funktion unzugänglich wird.
Jede Hilfe wird geschätzt.
Danke
so wat il do ist nach beiden Callback il ein Zeitrahmen, nach dem die 2. append wird ausgeführt werden, die gibt $ .getJSON reichlich Zeit, um alle Daten von url .. – anand
@anand, ich würde kein Timeout gesetzt. Du fragst nur nach Problemen auf diese Weise. Sie können niemals die Antwortzeit für einen asynchronen Aufruf garantieren. Stattdessen könnten Sie den zweiten $ .getJSON-Aufruf im ersten Callback verschachteln. Wenn das nicht klar ist, lass es mich wissen. –
Sie müssen einen Rückruf verwenden. Wenn Sie einfach eine Verzögerung ausführen, beginnt die Verzögerung nicht einmal, bis diese JavaScript-Routine trotzdem beendet wird (JavaScript ist single-threaded). Sie können es als Rückruf innerhalb eines Timeouts tun, aber wenn Sie das tun, warum benutzen Sie nicht einfach die Rückruffunktion von $ getJSON? – Nosredna