如何将PHP变量传递给processing.js

how to pass PHP variable to processing.js

本文关键字:processing js 变量 PHP      更新时间:2023-09-26

嗨,我需要一种方法来传递PHP值到processing.js我怎么能做到这一点。我知道我要使用AJAX,但我不知道该怎么做才能在processing.js中接收值。我已经试过了

<script type="text/javascript">
function go(){
        var s;
    var variable = 5;
    $.ajax({
        method:"POST",
        tupe:"POST",
        url: "take.php",
        data:({val:variable}),
        success: function(data){
            //$('#msg').html(data);  
                            var b = data;
                            s=b;
        }
    });
            alert (s);
    }
</script>

和我的PHP是:

<?php
if($_POST){
    $img = "index.jpg"  ;
    echo $img;
}
?>

但是当我警告's'它是未定义的,我不知道如何将它传递给处理代码以显示图像到画布。有人能帮帮我吗?

Ajax是异步的。这意味着当ajax调用执行时,脚本仍在继续。

success函数中,直到ajax调用结束后才定义s变量。在脚本中的ajax调用之后——但不是及时——它还没有定义。

要访问ajax调用返回的变量,您需要将您的逻辑放在success函数中。

另一个答案是正确的,但另一个选项是使用同步调用,这将阻止对ajax()的调用,直到数据返回。这就是你假设它工作的样子。

要进行同步调用,只需将async:false参数传递给ajax()调用,如下所示:
$.ajax({
        method:"POST",
        tupe:"POST",
        url: "take.php",
        data:({val:variable}),
        success: function(data){
            //$('#msg').html(data);  
                            var b = data;
                            s=b;
        },
        async: false
    });

更多信息在这里:我如何让jQuery执行同步,而不是异步,Ajax请求?