your code is close, but because ajax is ASYNCHRONOUS the var gets set
after the alert is executed.

normally you would do everything that deals with the lk_id inside the
success function (or a function called from inside the success
function)


On 1/15/07, Dan Caragea <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have some problems setting a global variable from within the success()
> function inside a .post.
> Here is a simplified version of what I have:
>
> function addedit() {
>    var lk_id=0;
>    $.ajax({url:'ajax/my_script.php',
>                type:'POST',
>                dataType:'html',
>                data:'optype=add',
>                success:function(data) {
>                           if (data!=null && data!='') {
>                            //alert(lk_id);
>                              lk_id=parseInt(data);
>                           }
>                         }
>                });
>     alert(lk_id);
> }
>
> My script returns a single number and I want lk_id to get that value in
> the success() function of the ajax call.
> The commented alert() in the success function can read the value of the
> outer lk_id (in this case 0), lk_id is set to the new value but the last
> alert() of the function returns 0 again.
> This function is called from a link with the onclick="addedit()"
> attribute. I am using firefox 2
> I suppose I could use the load() function to put the result in a hidden
> input, then read that input but it seems a little too complicated.
>
> Any help regarding this problem is appreciated
>
> --
> Dan
>
>
>
>
> _______________________________________________
> jQuery mailing list
> discuss@jquery.com
> http://jquery.com/discuss/
>


-- 
Ⓙⓐⓚⓔ - יעקב   ʝǡǩȩ   ᎫᎪᏦᎬ
_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to