ezis Posted April 22, 2012 Report Share Posted April 22, 2012 var value = 'default'; $.post('test.php', {test:'test'}, function(data){ if(data === '0'){ value = 'changed'; } }); alert(value); // izvada default Kā definēt no callback scope citu scope var`us? Quote Link to comment Share on other sites More sharing options...
101111 Posted April 22, 2012 Report Share Posted April 22, 2012 Šajā gadījumā callback funkcijai vajadzētu izmainīt value vērtību (ja salīdzināšana ifā ir veiksmīga), bet visticamāk tajā alertā tiks izvadīta sākotnējā vērtība, jo post pieprasījuma atbilde neatnāks pietiekami ātri (kā zināms callback kods izpildās asinhroni). Quote Link to comment Share on other sites More sharing options...
ezis Posted April 22, 2012 Author Report Share Posted April 22, 2012 yeah, tur tā problēma. Bet vajadzētu risinājumu kā definēt iekš tā callback ārēju mainīgo. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 22, 2012 Report Share Posted April 22, 2012 How to make function that returns it's inner-function's value? Quote Link to comment Share on other sites More sharing options...
101111 Posted April 22, 2012 Report Share Posted April 22, 2012 Priekš kam tas vajadzīgs? Izklausās pēc slikta dizaina. Var jau tikpat labi Izmantot globālus mainīgos. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 23, 2012 Report Share Posted April 23, 2012 Nevis tas ir «slikts dizains», bet tā vispār nevar uztaisīt — autoram vajag saprast ko nozīmē «asinhrons»! Quote Link to comment Share on other sites More sharing options...
indoom Posted April 23, 2012 Report Share Posted April 23, 2012 Pirms tā .post iemet $.ajaxSetup({async:false}); (var pēc posta uzlikt async:true) vai arī .post vietā izmanto .ajax var value = 'default'; $.ajax({ type: 'POST', url: 'test.php', data: {test:'test'}, success: function(data){ if(data === '0'){ value = 'changed'; } }, async: false }); alert(value); Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 23, 2012 Report Share Posted April 23, 2012 Tā pazūd AJAX būtība. P.S. Ajax stands for Asynchronous JavaScript and XML. Quote Link to comment Share on other sites More sharing options...
ezis Posted April 23, 2012 Author Report Share Posted April 23, 2012 Nea, fakit, izlīdzējos savādāk + mazāk rindiņas! keewl Šoreiz nebija svarīgi, lai tiktu izmantots asinhroni. paļdis indoom, paturēšu prātā. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.