当前位置: 首页 > 面试题库 >

jQuery / ajax在可用时加载新内容

皇甫伟彦
2023-03-14
问题内容

我知道这是一个模糊的问题-
对此感到抱歉。如果我有一个在PHP和MySQL上运行的论坛,聊天室或类似的地方,用户可以在其中输入和提交数据,那么什么是最好的方式来使新提交的内容在提交后自动在页面上显示给所有用户?

如果您愿意,它很像实时新闻源…效果排序在这里适用于stackoverflow,当您回答问题时,系统会在您提交新答案时告知您。我想测试新提交的内容,然后自动显示它。

有什么建议?非常感谢 :)


问题答案:

显然,想到的第一件事是每x秒检查一个新内容的轻量级AJAX请求。

类似于http://buntin.org/2008/09/23/jquery-polling-
plugin/

编辑: 这未经测试。

AJAX呼叫至 http://example.com?lastCheck=1273244156

PHP: 
<?
    if(isset($_GET['lastCheck'])){
        $ts = mysql_real_escape_string($_GET['lastCheck']);

        $result = mysql_query("SELECT * FROM `table` WHERE `timestamp` >= {$ts}");
        $rows = mysql_fetch_array($result, MYSQL_ASSOC);

        if($rows){
            header('Cache-Control: no-cache, must-revalidate');
            header('Content-type: application/json');
            echo json_encode($rows);
        }
    }
?>

然后使用jQuery检查AJAX响应是否为有效JSON,如果是,则构建您的项目并将其附加到您的容器中。



 类似资料:
  • 问题内容: 我的问题: 我有index.html: 是这样的: 问题很简单。 当我按下按钮时,我想动态加载内容,而无需刷新。 提前致谢!请发表评论以进行任何必要的澄清。 编辑,更详细的解释: 我不确定自己是否很清楚(或者我可能不了解我缺乏技术技能的答案),所以我再说一遍。(改写) 我有一个带有提交按钮的HTML,该按钮通过POST方法发送变量。 PHP文件使用此变量,并在经过一定过程后插入并更新M

  • 问题内容: 我想在单击按钮时重新加载div。我不想重新加载整个页面。 这是我的代码: HTML: 单击按钮后,应该重新加载而不加载或刷新整个页面。 以下是我尝试过但无法正常工作的Jquery:- 请提出建议。 这是我页面上的DIV,其中包含一些产品的图片和序列号…这将是第一次加载时来自数据库的信息。但是,如果用户遇到问题,他将单击“再次捕获”按钮“ ”,这将再次加载这些信息。 Div的HTML代码

  • 问题内容: 我有一个-link元素,该元素具有指向页面的href链接,但是我必须使用Ajax从href -url加载该内容,而不是将用户重定向到该页面。如何修改链接以仅从该链接加载内容,以便可以将该内容注入当前页面? 我做了这个,但是没用。 问题答案: 的负载功能并不旨在收集请求响应,该功能用于负载HTML从远程文件并注入到一个DOM元素,例如: 如果处理锚元素的单击事件,则应防止浏览器跟随链接h

  • 问题内容: 如果不使用iframe,则可以加载以下内容: 与外部站点,例如somesitehere.com 页面何时加载?-我知道如何从文件加载内容,但是不确定如何加载整个网站吗? 非常感谢, 问题答案: 无需专门的操作就可以做到。由于标题中提到了jQuery,因此使用了jQuery。

  • 问题内容: 我们正在发出多个ajax请求,以“保存” Web应用程序中的数据,然后重新加载页面。我们遇到了这样一种情况:(由于请求是异步发出的)在ajax调用完成时或之前重新加载页面。一种简单的解决方案是使用“ async”:false选项启用ajax调用,从而强制进行同步调用。这似乎可行,但是在执行任何调用之前运行的对话框代码会延迟运行。 任何意见是极大的赞赏! 还应注意,在重新加载之前放置al

  • 问题内容: 我使用jQuery Tools Plugin作为图像滑块(此处为image ),但是由于图像数量巨大,我一次只需要加载几次。由于它是用JavaScript编码的,因此我无法知道滚动位置。我想在最后一张图片出现时立即加载它们。我不知道我放在哪里,事件监听器也什么都没有。 这是我的代码http://jsfiddle.net/PxGTJ/ 请给我一点光! 问题答案: 我只需要使用jQuery