从PHP脚本调用AJAX

从PHP脚本调用AJAX,php,ajax,Php,Ajax,我知道我可以在处理AJAX请求后调用PHP脚本,但我是否可以用另一种方式呢 我正在为一个新网站编写一个动态大小的导航组件,我想在每次菜单中添加新项目时刷新导航 在我的菜单课程中,我目前正在考虑使用这种方法来实现以下效果: public static function new_item($label, $link) { $pos = self::num_items(); $DB = Database::getInstance(); $query = $

我知道我可以在处理AJAX请求后调用PHP脚本,但我是否可以用另一种方式呢

我正在为一个新网站编写一个动态大小的导航组件,我想在每次菜单中添加新项目时刷新导航

在我的菜单课程中,我目前正在考虑使用这种方法来实现以下效果:

public static function new_item($label, $link) {

    $pos = self::num_items();        

    $DB = Database::getInstance();

    $query = $DB->connection->prepare("INSERT INTO menu VALUES('', :label, :link, :pos )");
    $query->execute(array(':label'=>$label,
                          ':link' =>$link,
                          ':pos'  =>$pos+=1  
                   ));

    ?>

    <script>

        function refreshHeader() {
            $.ajax({
                type: "GET",
                url:  "my url",
                success: function() {
                    // refresh the header here somehow
                }
            });
        }

    </script>

    <?php
}
公共静态函数新项($label,$link){
$pos=self::num_items();
$DB=数据库::getInstance();
$query=$DB->connection->prepare(“插入菜单值(“”,:label,:link,:pos)”);
$query->execute(数组(':label'=>$label,
':link'=>$link,
':pos'=>$pos+=1
));
?>
函数refreshHeader(){
$.ajax({
键入:“获取”,
url:“我的url”,
成功:函数(){
//在这里刷新标题
}
});
}

哦,我现在明白你想做什么了,你需要的是WebSocket。当一段php代码(服务器端)被执行时,你希望在浏览器(客户端)中发生一些事情。看看如何使用javascript和WebSocket、长轮询和其他类似方法进行实时聊天,这就是你在这里需要的


这对我有很大的帮助

重复下面的一行可以调用现有的javascript函数,甚至可以插入变量(尽管只有字符串和int)

echo”“;

我发现这是最简单的快速实现方法之一。

为什么不使用CURL?CURL做什么?这没有任何意义。@AndreiCristianProdan CURL?很抱歉,我离开web有一段时间了,这会给我带来什么好处?通过“刷新标题”你的意思是重新加载表示标题的HTML部分,对吗?如果是,那么你需要在初始的
$中返回新的HTML部分。ajax
调用并在
成功
回调中用新的替换旧的。@SergiuParaschiv这正是我想要做的,谢谢它是不可见的,它可以工作:P如果我使用它,我喜欢抛出It在页面上隐藏的div中,只是为了确定。
echo "<style onload='jsfunction(\"$vars\")'></style>";