Jump to content

How do I use a JSON callback variable later in my script?


kingnutter

Recommended Posts

Hi everyone,

 

In the code below, the first "alert(prev_track);" works fine, but the second doesn't. I want to use it in the response to the add_track_to_db post later but the value just seems to disappear.

 

Can anyone tell me how to retain the variable to use it later in my script?

 

Many thanks,

KN

 

<script type="text/javascript" charset="utf-8">
   
   
      $('input[type="button"]').click(function(event) {
                        var $target = $(event.target);
                                      
            var moj_id = $('#moj_id').val();
            var track_no = $('#track_no').val();
            var track_title = $('#track_title').val();
            var track_artist = $('#track_artist').val();
            var track_asinuk = $('#track_asinuk').val();
            var track_asinus = $('#track_asinus').val();
                   
                   $.post("../includes/get_order.php",     {
                    'moj_id' : moj_id,
                    'track_no' : track_no,
                },
               
                    function(data){
                    var prev_track= data.prev_track; // John
                    alert(prev_track);                                            //  THIS ONE WORKS
                    }, "json");

                   alert(prev_track);                                            // THIS ONE DOESN'T
               
               
           
            $.post('../includes/add_track_to_db.php', {
                'moj_id' : moj_id,
                'track_no' : track_no,
                'track_title' : track_title,
                'track_artist' : track_artist,
                'track_asinuk' : track_asinuk,
                'track_asinus' : track_asinus,
                },
           
                function(r) {
            
               
            console.log("hello" + prev_track);                     // NO RESPONSE HERE
                    $('<div class="overlay"></div>')
                        .appendTo('#form_block')
                        .fadeIn(1000, function() { 
                                                                               // SCRIPT STOPS
                           
                            $('<li>' + r + '</li>')
                                //.hide()
                               
                                .appendTo("#tracks li:eq('+prev_track+')")//('#tracks')                      
                                .show(1000, function() {
                               
                                    if ($target.is('#submit1')) {
                                        $('#form_block').slideUp(1000, function() {
                                        $('.overlay').hide();                                   
                                    });   
                                };
                               
                                if ($target.is('#submit2')) {
                                        $('.overlay').fadeOut(1000);
                                };
                   
                    // clears form
                    document.getElementById('form').reset();
                   
                    });
               
                });
   
        });
           
            return false; // disable submit click

       
       
        });
       
</script>

I'd try var prev_track; on the top, then just  prev_track= data.prev_track; later in the anon. function.

 

 

Hi everyone,

 

In the code below, the first "alert(prev_track);" works fine, but the second doesn't. I want to use it in the response to the add_track_to_db post later but the value just seems to disappear.

 

Can anyone tell me how to retain the variable to use it later in my script?

 

Many thanks,

KN

 

<script type="text/javascript" charset="utf-8">
   
   
      $('input[type="button"]').click(function(event) {
                        var $target = $(event.target);
                                      
            var moj_id = $('#moj_id').val();
            var track_no = $('#track_no').val();
            var track_title = $('#track_title').val();
            var track_artist = $('#track_artist').val();
            var track_asinuk = $('#track_asinuk').val();
            var track_asinus = $('#track_asinus').val();
                   
                   $.post("../includes/get_order.php",     {
                    'moj_id' : moj_id,
                    'track_no' : track_no,
                },
               
                    function(data){
                    var prev_track= data.prev_track; // John
                    alert(prev_track);                                            //  THIS ONE WORKS
                    }, "json");

                   alert(prev_track);                                            // THIS ONE DOESN'T
               
               
           
            $.post('../includes/add_track_to_db.php', {
                'moj_id' : moj_id,
                'track_no' : track_no,
                'track_title' : track_title,
                'track_artist' : track_artist,
                'track_asinuk' : track_asinuk,
                'track_asinus' : track_asinus,
                },
           
                function(r) {
            
               
            console.log("hello" + prev_track);                     // NO RESPONSE HERE
                    $('<div class="overlay"></div>')
                        .appendTo('#form_block')
                        .fadeIn(1000, function() { 
                                                                               // SCRIPT STOPS
                           
                            $('<li>' + r + '</li>')
                                //.hide()
                               
                                .appendTo("#tracks li:eq('+prev_track+')")//('#tracks')                      
                                .show(1000, function() {
                               
                                    if ($target.is('#submit1')) {
                                        $('#form_block').slideUp(1000, function() {
                                        $('.overlay').hide();                                   
                                    });   
                                };
                               
                                if ($target.is('#submit2')) {
                                        $('.overlay').fadeOut(1000);
                                };
                   
                    // clears form
                    document.getElementById('form').reset();
                   
                    });
               
                });
   
        });
           
            return false; // disable submit click

       
       
        });
       
</script>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.