php变量中的Javascript变量

时间:2016-01-20 19:26:35

标签: javascript php jquery

我有php函数,用于检查我使用class::checkThis($my_entry);

调用的数据库中是否存在条目

在我的脚本中,javascript用于确定我选择的文件夹的名称,因此$ my_entry应该如下所示:

(正常情况下由php决定,粗体部分由javascript决定)

  

C:/库/用户/ apatik /的 folder1中

你猜我找不到混淆语言的工作方式,而且我还没有任何javascript经验可以解决这个问题。

返回路径第一部分的php代码只是$_SESSION['cwd'].'/',返回所选文件夹名称的javascript变量为data_name,由var data_name = $(this).attr('data-name');确定

有没有办法获得类似if (class::checkThis($_SESSION['cwd'].'/'.data_name) == true)的内容?

到目前为止,我所尝试过的一切都没有,我找不到替代方案。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您需要发出一个AJAX请求来完成此任务。除动态部分外,您将正常加载页面。然后你可以根据AJAX调用的结果填充动态部分(我在这里将其说明为#content):

var data_name = $(this).attr('data-name');

...

$.ajax('http://example.com/my_php_script.php?data_name=' + data_name)
    .done(function(data){
        // "data" is the resulting output of the PHP script
        $('#content').append(data);
});

注意:上述解决方案使用jQuery

然后,在my_php_script.php中,您可以执行以下操作:

if (class::checkThis($_SESSION['cwd'] . '/' . $_GET['data_name']) == true) {
    ...
}

答案 1 :(得分:0)

Ajax jQuery是您最好的解决方案。 这个使用post方法和event,仅供参考......

<a href="#" class="anchor" data-name="folder1">Am I exist?</a>
<a href="#" class="anchor" data-name="folder2">Am I exist too?</a>

$('.anchor').click(function(){

    var data_name = "name=" + $(this).attr('data-name');
    $.ajax({
        type: "POST",
        url: "is_exist.php",
        data: data_name,
        success: function (data) {
                    alert(data.response);
        }
    });
};

<强> is_exist.php

if(isset($_POST['name'])){
    $data['response'] = class::checkThis($_SESSION['cwd'].'/'.$_POST['name']) == true ? "exist" : "buried";
    echo json_encode($data);

}