在使用jquery before()

时间:2016-01-05 07:41:51

标签: php jquery

我已经问过这个问题了,第一个来过这个问题的人已经把它标记为重复了,我以为我问过如何使用javascript找到当前的网址。 这不是我的问题!

我想知道这是否可行,现在我似乎无法使其发挥作用,但我很高兴听到它可行。

首先,我有这个随机页面,其中我粘贴了一个脚本标记来加载我的js文件,以及一个php变量来获取我当前的url:

<script src="/plugin-cookies/front-cookies.js" type="text/javascript"></script>
<?php $currentlink = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>

然后,在我的js文件中,我有一个jquery函数将所需文件追加到页面:

$(document).ready(function(){
$.get("cookies-include.php", function(data){
    $('footer').last().before(data);
});
$.get("cookies-margin.php", function(data){
    $('head').append(data);
});
});

最后,在我的&#34; cookies-include.php&#34;文件,我想用这个&#34; $ currentlink&#34;变量(我不能在cookies-include.php中设置它,因为它给了我自己的链接......)。

这是我想在cookies-include.php中使用的代码(通过jquery在页面中实现):

global $currentlink;
if($currentlink == $setlink){
    do stuff...
} else {
    some other stuff...
}

我试图回复&#34; $ currentlink但我没有得到任何东西。

我没有得到的是$ currentlink变量是在js函数开始之前设置的,所以不应该没问题吗?

总结一下:

1 - 我创建了我的php变量并在页面中调用我的js文件

2 - 我的js文件使用before()

在页面内实现第二个php文件

3 - 我希望我在页面中实现的php文件使用在第一点创建的变量。

2 个答案:

答案 0 :(得分:1)

您需要将$currentlink分配给javascript变量,并将其作为参数传递给ajax调用中的cookies-include.php

这样的东西
<script src="/plugin-cookies/front-cookies.js" type="text/javascript"></script>
<script>
var currentlink = 'http://<?=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>';
$(document).ready(function(){
    $.get("cookies-include.php?currentlink="+currentlink, function(data){
        $('footer').last().before(data);
    });
    $.get("cookies-margin.php?currentlink="+currentlink, function(data){
        $('head').append(data);
    });
});
</script>

在PHP中

$currentlink = $_GET['currentlink'];
if($currentlink == $setlink){
    do stuff...
} else {
    some other stuff...
}

答案 1 :(得分:0)

谢谢!你的想法很棒!我用不同的语法使用它,但它是一样的:

>>> import ex
>>> ex.f('foo')
 outputFile=�

Juste请注意,我将页面中的$ currentlink变量修改为隐藏输入,以便使用js获取其值:

$(document).ready(function(){
var currentlink = $('#currentlink').val();
$.post("cookies-include.php", {"currentlink": currentlink}).done(function(data){
    $('footer').last().before(data);
});
});