我有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)
的内容?
到目前为止,我所尝试过的一切都没有,我找不到替代方案。
感谢您的帮助
答案 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);
}