【问题标题】:web2py page reload with jQuery AJAX使用 jQuery AJAX 重新加载 web2py 页面
【发布时间】:2015-11-28 07:45:30
【问题描述】:

我正在从事一个大学项目,该项目基本上需要构建一个简单的新闻网站来从 Twitter 获取推文。我选择 Tweepy 作为我的 Python 库来完成这项任务。

为了实现这个新闻网站,我有一个名为“tweet_source”的表,用于存储 Twitter 用户名。 在名为“tweets.html”的视图中,我首先从“tweet_source”获取每个用户名并将其传递给 Tweepy Python 脚本(其中包含我的访问令牌等)

Tweepy 脚本将从 Twitter 获取数据,例如名字、推文、个人资料图片,并为每个用户生成 div。

一切运行良好,它确实生成了整齐的 div。 但是,我们的主要标准是有一个“刷新”按钮,它将使用 AJAX 从 Twitter 获取新推文。

就我而言 - 1. 重新运行 Python 脚本 2. 重新生成 div。

我尝试了一种使用默认 AJAX 方法的方法,在该方法中,我使用 {{ }} 之间的脚本创建了另一个视图并将其用作响应。但是,生成的 div 被弄乱了并且彼此重叠。

我遇到了另一种方法,它只涉及使用 jQuery 的 AJAX 方法刷新当前页面,因为这样 - 1. 脚本将重新运行 2. div 完全按照我想要的方式重新生成。

function refresh_tweets(){ 
                     $.ajax({
     type:'post',
     data:{},
     url:'tweets.html',
     dataType:'html',
     success:function(response){
       $('body').html(response);
     }
    });
}   

现在,问题是脚本运行(我可以在我的 web2py 控制台上看到输出)但页面上没有创建 div,即;除了几个标题外,什么都没有显示。

注意:- 值得一提的是,我使用 Tweepy 脚本从 Twitter 获取的推文存储在数据库的另一个表中。 (项目指南要求我们这样做)。 为此,我在页面顶部添加了db.tweet_tweet.truncate(),以确保删除旧推文并添加新推文。

如果有人可以帮助我,我将不胜感激。 或者为这项任务提供更简单的解决方案。

如果需要,我很乐意分享“tweets.html”的代码。

谢谢, 阿琼

编辑:存储推文的“tweet_tweet”表不会变空。我现在刚刚对其进行了测试,假设我单击“刷新”,一条新的推文确实成功添加到表中,但又一次没有 div 也没有生成输出。

【问题讨论】:

    标签: jquery ajax web2py


    【解决方案1】:

    我通过使用 web2py 的 AJAX 方法解决了我的问题。

    ajax(url, [name1, name2, ...], target)
    

    这主要是在“tweets.html”中重新生成 div 的问题。

    阿琼

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多