我正在尝试在我的一个jQuery函数中使用我的一个PHP函数。我知道它不会执行代码,但我需要回显函数调用,因此服务器可以处理它。到目前为止,我有这个:
.html('<h2>Please <a href=""<?php echo absolute_url("login.php"); ?>"">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)')
但它无法正常工作。我听说我需要在Javascript中用引号括起实际的php函数调用,我做了(单个和双重),但他们没有做到这一点。有什么想法吗?
任何想知道的人的整个功能:
// login or register notification
$(document).ready(function() {
$('.notice').click(function() {
$('.error-notification').remove();
var $err = $('<div>').addClass('error-notification')
.html('<h2>Please <a href=""<?php echo absolute_url("login.php"); ?>"">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)')
.css('left', $(this).position().left);
$(this).after($err);
$err.fadeIn(150);
});
$('.error-notification').live('click', function() {
$(this).fadeOut(150, function() {
$(this).remove();
});
});
});
答案 0 :(得分:5)
你不能 - 在页面加载期间运行php命令 - 你的页面已经加载和渲染。您应该知道php是服务器端代码。这意味着当您的网站被请求时,您的服务器会生成输出文件并将所有回显值填入输出文件中。客户端获取页面,其中所有变量都回显到您的页面 - 没有给客户端提供任何php命令,它们是服务器将网页编译回客户端的说明。
为什么不在页面加载期间将absolute_url(“login.php”)存储在javscript变量中
var loginUrl = "<?php echo absolute_url("login.php"); ?>";
然后
.html('<h2>Please <a href="' + loginUrl + '">Login</a>')....
编辑 - 哦等等 - 你正在这样做:P对不起切线然后,你的js文件链接到你的页面,它是一个指向要包含的文件的存根。这不会注册php命令。
答案 1 :(得分:0)
这实际上并没有像你在问题中提到的那样做,但尝试:
$('elem').html('<h2>Please <a href="<?php echo absolute_url("login.php"); ?>">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)');
如果这是来自PHP页面,请尝试:
$('elem').html('<h2>Please <a href="<?php echo absolute_url("login.php"); ?>">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)');
显然,PHP解释器永远不会看到这个,并且PHP代码永远不会像您在问题中已经注意到的那样执行。
答案 2 :(得分:0)
您无法在js文件中执行此操作,但可以在HTML文件的<script>
标记中执行此操作。
.html('<h2>Please <a href="<?php echo absolute_url(\"login.php\"); ?>">login</a>
or <a href="signup.php">register</a> to vote for this post.
</h2>(click on this box to close)')
答案 3 :(得分:0)
您检查过结果页面的源代码吗?我只会使用一个“之前和之后的php标签
答案 4 :(得分:0)
我认为从Javascript使用php的正确方法是创建Web服务(在php中)并从您的Javascript中调用它们。 如果你想真的疯狂,可以使用web服务将php内容发送到服务器,将其作为临时文件写入,然后“需要”文件并运行它...这是非常不可取的事情,除非有一个非常独特的用例,否则无法完成。 PHP作为一种极其动态的语言允许这种用法。
答案 5 :(得分:-1)
最好的事情是使用html非常有效且易于控制..
.html('<h2>Please <a href="login.php">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)')