;-)我打了一堵砖墙。今天我在生命中第一次见到了阿贾克斯。我明白,我的问题看起来很愚蠢。但我需要你的帮助。
我有一个php文件(例如index.php),它有一个include( function.php )。在 function.php 文件中,我有一个函数(例如function Jokes(){....}
)。
我想使用AJAX在我的页面中加载此功能。但我不知道怎么做......: - (
我找到了一些简单的解决方案(我使用Jquery加载函数),但这不是我想要的,因为我必须使用单独的文件。
$('#jokes').load('jokes.php');
但我需要这样的东西:
$('#jokes').load('function.php','jokes()');
任何帮助或想法?我们将不胜感激。
P.S:对不起我的英语不好......))
答案 0 :(得分:2)
你可以做的是制作一个AJAX文件,例如: ajaxfunctions.php你在哪里划分函数。
$('#jokes').load("ajax.php", { 'function': 'jokes' } );
在你的PHP文件ajax.php中,你可以这样做:
<?php
include 'function.php';
if (isset ($_POST['function']) && $_POST['function'] == 'jokes')
{
echo jokes ();
}
?>
这对你有帮助吗?
答案 1 :(得分:0)
浏览器(以及Ajax)只能向服务器发出HTTP请求。
无法执行特定功能。
您必须编写能识别特定URL的服务器端代码(例如,只调用该函数的脚本,或者根据查询字符串决定运行哪个函数的脚本)并执行特定的函数作为响应要求它。
答案 2 :(得分:0)
不,这样做是不可能的。您必须向网址发出请求。你不能只从php文件中调用特定的函数。
为您需要的功能构建一个url包装器。
答案 3 :(得分:0)
不要那样做。 Ajax用于发送或检索数据,但您要做的是加载在PHP文件中定义的Javascript函数(不是吗?)。 相反,只需在JS文件中定义您的Javascript函数并通过脚本加载它(或者,如果它应该动态加载,您可以使用AMD加载程序,如require.js)
如果你想在JS中加载PHP函数,那就不可能了。不过,您可以调用该函数并获取其结果。
答案 4 :(得分:0)
它不会像这样工作。
$('#jokes').load('jokes.php');
对jokes.php发出http请求。如果要执行特定功能,可以使用参数,如下所示:
$('#jokes').load('jokes.php?func=jokes');
从你的php脚本中获取'func'并执行正确的函数。
...
function jokes() {
return 'some output';
}
...
$func='';
if (!empty($_REQUEST['func'])) {
$func=$_REQUEST['func'];
}
if ($func=='jokes') {
echo jokes();
}
答案 5 :(得分:0)
你不需要AJAX。您希望将Jokes()函数放在JavaScript文件中,可能称为Jokes.js,将其包含在index.php中,然后在index.php中的JavaScript块中正常调用它。