如何在点击时调用一个函数

时间:2015-05-18 03:35:19

标签: javascript php jquery plugins wordpress-plugin

我无法重新初始化某些代码。

我有一个插件的功能,我需要重新初始化点击。上个月我开始学习JS和PHP,所以我仍然对操作我没写过的代码感到不舒服。

这是我需要重新加载的代码,它在PHP文件中找到:

/** $return FFGeneralSettings */
public function getGeneralSettings(){
    return $this->generalSettings;
}

public function register_shortcodes()
{
    add_shortcode('ff', array($this, 'renderShortCode'));
}

public function renderShortCode($attr, $text=null) {
    if ($this->prepareProcess()) {
        $stream = $this->generalSettings->getStreamById($attr['id']);
        if (isset($stream)) {
            $settings = new FFStreamSettings($stream);
            if ($settings->isPossibleToShow()){
                /*ob_start();
                include(AS_PLUGIN_DIR . 'views/public.php');
                $file_content = ob_get_clean();
                echo $file_content;*/
                ob_start();
                include(AS_PLUGIN_DIR . 'views/public.php');
                $output = ob_get_contents();
                ob_get_clean();
                return $output;
            }
        }
    }
}

我想我会使用Javascript重新初始化上面代码中的操作?我是否在正确的轨道上使用了我在下面制作的骨架?

$(document).ready(function(){
    $('a').on('click',function(){
        //does the magic happen in here?
        });
});

感谢您的任何建议,到目前为止,我已经从你们那里学到了很多东西! 哦,我也很好,如果答案是在jQuery中。

2 个答案:

答案 0 :(得分:2)

“我有一个插件的功能,我需要重新初始化点击”

一切都取决于你希望这个功能做什么。您是否希望它生成一些输出以显示在您的页面上?你想要它只运行服务器端脚本吗?两者都要求你调用一个运行php代码的php页面,这可能是ajax调用的形式,但你对结果的处理会因你的目标而异。

要使用jquery执行ajax调用,请执行以下操作:

$(document).ready(function(){
    $('a').on('click',function(){

        // magic happens here!
        $.ajax({
            url: "yourfile.php",
            method: "get",
            success: function(result) {
                // do something with your result here
                console.log(result);
            },
        });

    });
});

看起来你的代码会返回一些东西 - 所以上面的代码应该在success = function (result)部分做一些事情,这可能是将输出结果放到某个元素中。

答案 1 :(得分:0)

如果您尝试从Javascript重新加载/重新运行PHP函数,则需要创建一个API端点,您可以通过javascript对其进行http调用,或者执行旧式页面刷新。如果您对http请求和响应的基础知识有所了解,那就没有意义了。