我有一个PHP函数,每次运行时都会添加 +1 。
function count_likes(){
$collect=file_get_contents('like_counter.txt')+1;
$count=file_put_contents("like_counter.txt", $collect);
echo $collect;
我有一个javascript应该运行前面提到的PHP函数。
也就是说,每次用户点击按钮时,我都会在innerHTML
内调用PHP函数作为字符串。不幸的是,id不会改变文档中的任何内容。
var like=document.getElementById("like__image");
addEventListener("click",function(event){
event.preventDefault();
var likeBox=document.getElementById("like__box");
likeBox.innerHTML="<?php count_likes() ?>";
});
如何在我的Javascript中调用我的PHP函数?
答案 0 :(得分:1)
由于PHP在您的服务器上运行且JavaScript在用户的浏览器上运行,因此您无法直接调用该功能。 但您可以使用AJAX通过JavaScript向服务器发送调用。
如果您使用的是jQuery,它将如下所示:
$.ajax({
url: 'www.yoursite.com/path/to/your/php/function',
data: {action: 'your-action'},
type: 'post',
success: function(serverReturn) {
// handle the PHP-return here
}
});
答案 1 :(得分:1)
Javascript
在客户端运行,而PHP
在服务器端运行,因此您的echo
调用将按原样呈现,因为浏览器端没有PHP解释器
您可以做的是添加一个调用您的函数的count_likes.php
脚本,并从客户端调用ajax来设置所需元素的innerHTML
。
所以而不是
likeBox.innerHTML="<?php count_likes() ?>";
你可以做到
$("#like__box").load("count_likes.php");
假设您的网站中包含jquery。将load
调用视为原始设置innerHTML
的异步版本。