如何通过ajax移动php变量?

时间:2017-09-20 19:34:55

标签: javascript php jquery ajax

我有一个复杂的网站,所以我有一个小问题,通过ajax请求移动php变量$dlink

代码图片:https://cdn.discordapp.com/attachments/237505447337263104/360125398333390848/unknown.png  因此,在第1页上创建变量并在第4页调用它,但它返回为未定义。所以我尝试了一种方法:

$(document).ready(function(){
    $(".downlink").click(function(){
        var link = $(this).attr("id");
        link = link.replace('link-','');
        var path = '<php? echo $dlink; ?>';
        $.ajax({
            url: "../temp/ajax.php",
            type: "POST",
            data: {
                'link': link,
                'path': path,
            },
            success: function(result){
                $("body").html(result);
            }
        });
    });
});

但这也行不通。中间两页代码是一个模板,我需要大量的页面来读取硬编码是不可取的。

2 个答案:

答案 0 :(得分:0)

我写错了<php? - &gt; <?php

答案 1 :(得分:0)

我觉得你在PHP上下文中嵌入PHP代码很奇怪。你可以做一些事情,比如说..当页面加载时,回显一个保存值

的JavaScript变量
    <?php
         echo "<script> d_link =" .  $dlink ."  </script>";
    ?>

然后从你的jquery处理程序中你可以做到

    $(document).ready(function(){
$(".downlink").click(function(){
    var link = $(this).attr("id");
    link = link.replace('link-','');
    var path = d_link;  //just reference the variable here
    $.ajax({
        url: "../temp/ajax.php",
        type: "POST",
        data: {
            'link': link,
            'path': path,
        },
        success: function(result){
            $("body").html(result);
        }
    });
});

});