Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.1k views
in Technique[技术] by (71.8m points)

Get variable value from PHP in AJAX

I'm trying to catch a PHP variable in AJAX, but I'm not having much luck.

myCode.php

<?php

//myFunction that will return a status
if(myFunction() === true){
    $status = "success";
}else{
    $status = "failure";
}
?>

In my HTML, I have the following:

<script>
    function initiate_delete() {
        $.ajax({
            url: '{$modulelink}&action=delete',
            type: "post",    //request type,
            dataType: 'json',
            data: {
                type: 'test'
            }
        });
    }
</script>

Is there any way to have AJAX wait for the PHP to execute and then get $status when I execute initiate_delete?

Thanks in advance.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Change code to

<?php

//myFunction that will return a status
if(myFunction() === true){
    $status = "success";
}else{
    $status = "failure";
}
echo $status

or short it to

 echo myFunction() ? "success" : "failure";

To wait for an answer - you can execute the request asynchronously, and get the result in the .done() callback

$.ajax({
        url: $(this).attr('href'),
        type: 'POST',
        fail: function(){
            //do something
        },
        done: function(m){ 
           /// do something else
        }
    });

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...