在JavaScript代码中运行PHP函数
running a php function inside javascript code
我也希望在javascript代码中运行php代码,我喜欢这样:
<?php function categoryChecking(){
return false;
}?>
....
function openPlayer(songname, folder)
{
if(<?php echo categoryChecking() ?> == true)
{
if (folder != '')
{
folderURL = "/"+folder;
}else
{
folderURL = '';
}
var url = "/users/player/"+songname+folderURL;
window.open(url,'mywin','left=20,top=20,width=800,height=440');
}else{
alerte('you should click on a subcategory first');
}
}
....
<a href='javascript:void();' onClick="openPlayer('<?php echo $pendingSong['id']; ?>','')">
最后我收到此错误,而是警报消息"您应该先单击子类别"
ReferenceError: openPlayer is not defined
openPlayer('265','')
你把
测试用例缩小得太远了,无法确定问题是什么,但鉴于你收到的错误消息,你的直接问题与 PHP 无关。
您尚未在调用它的 onclick 属性的范围内定义openPlayer
。据推测,早期的 JS 代码要么根本不在脚本元素中,要么包装在一个函数中,该函数将限定它的范围并防止它成为全局。
更新:@h2ooooooo在注释中指出,您的PHP正在生成JS:
if( == true)
检查浏览器的错误控制台。您需要首先处理第一条错误消息,因为它们可能会产生连锁反应。在这种情况下,脚本中的解析错误将导致无法定义函数。
但是,一旦解决了这个问题,看起来您将在尝试编写双向代码时遇到问题,其中一些是客户端,有些是服务器端。
您不能从 JavaScript 运行 PHP 代码,因为 PHP 是一种服务器端语言(在服务器上运行),而 JavaScript 是一种客户端语言(在浏览器中运行)。
您需要使用 AJAX 向 PHP 页面发送 HTTP 请求,然后您的 PHP 页面应该给出响应。使用 AJAX 发送 HTTP 请求的最简单方法是使用 jQuery ajax()
方法。
创建一个 PHP 文件ajax.php
,并将以下代码放入其中:
<?php
$value = false; // perform category check
echo $value ? 'true' : 'false';
?>
然后,在你的JavaScript代码中,你应该首先添加一个对jQuery的引用:
<script type="text/javascript" src="jquery.js"></script>
然后,使用此 AJAX 代码获取布尔值:
<script type="text/javascript">
$.ajax('ajax.php')
.done(function(data) {
var boolValue = data == 'true'; // converts the string to a bool
})
.fail(function() {
// failed
});
</script>
因此,您的代码应如下所示:
function openPlayer(songname, folder) {
$.ajax('ajax.php')
.done(function (data) {
var boolValue = data == 'true'; // converts the string to a bool
if (boolValue) {
if (folder != '') {
folderURL = "/" + folder;
} else {
folderURL = '';
}
var url = "/users/player/" + songname + folderURL;
window.open(url, 'mywin', 'left=20,top=20,width=800,height=440');
} else {
alert('you should click on a subcategory first');
}
})
.fail(function () {
// failed
});
}
相关文章:
- 执行php函数的onclick事件的其他替代方案
- 使用ajax用jquery调用php函数
- php函数的ajax html$_POST值返回null
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 如何使用OnClick事件通过参数调用来调用PHP函数
- php javascript代码从javascript调用php函数
- 将位置变量从Javascript传递到PHP函数
- 当使用答案运行PHP函数时,会弹出是/否警报
- PHP函数的返回看起来如何对AJAX和PHP有效
- PHP 函数不会向 JavaScript 变量返回值
- 如何从jQuery调用PHP函数
- php函数的XMLHttpRequest响应不包含任何数据
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- 从Javascript函数调用PHP函数
- 使用Ajax将数组从javascript发布到php函数
- PHP函数识别3个数字中最低的一个并更改其类
- 使用AJAX将变量发布到不同文件上的php函数并调用该函数
- 使用ajax从javascript/jquery调用php函数
- PHP函数调用和Javascript代码中的数组传递
- 如何在关闭浏览器的同时执行php函数