这是供js调用的文件(jsi.php):
$act = request_str_args('act'); //(获取http请求的act字段)
$func_name = "j_$act";
6 if (!function_exists($func_name)){
7 return_error('unknown act type');
8 }
9
10 $func_name();
下面是各个函数的定义部分了……
我的问题是func_name()这个函数前面后面都没有定义,看来看去也没什么用,可是去掉后就报错了,错误原因是,找不到对应的jsi.html文件,这是为什么啊?
还有就是为什么func_name()前面要加$?
$act = request_str_args('act'); //(获取http请求的act字段)
$func_name = "j_$act";
6 if (!function_exists($func_name)){
7 return_error('unknown act type');
8 }
9
10 $func_name();
下面是各个函数的定义部分了……
我的问题是func_name()这个函数前面后面都没有定义,看来看去也没什么用,可是去掉后就报错了,错误原因是,找不到对应的jsi.html文件,这是为什么啊?
还有就是为什么func_name()前面要加$?
function hello()
{
echo "<h1>hello word;</h1>";
}$str = "hello";$str();//the result is: hello word;
$func_name = "j_$act"; //这时 $func_name 为 j_xxx 这个就是函数名$func_name(); //于是在这里实际执行的是 j_xxx()
再问下:我把$func_name()这行去掉后,为什么会出错呢?题目中我列出出错原因了
其实页面正常的执行顺序是先jsi.php后jsi.html,但是我这里的jsi.php是供js调用的代码,不需要html页,我的意思是:func_name();这个函数执行完了是不是会自动返回?
应该是设置了全局变量,或更改了全局状态。