📜  如何使用 jQuery 创建新闻自动收报机?(1)

📅  最后修改于: 2023-12-03 15:23:54.997000             🧑  作者: Mango

如何使用 jQuery 创建新闻自动收报机?

对于那些需要获取实时新闻的人们来说,具有自动收码和聚合新闻的新闻自动收报机是一个很好的解决方案。使用 jQuery 提供的元素选择器和异步请求,我们可以非常容易地创建这样的收报机。在本篇文章中,我们将学习如何使用 jQuery 创建一个新闻自动收报机。

准备工作

在开始编写代码之前,我们需要进行一些准备工作:

  1. 在 HTML 页面中引入 jQuery 库。可以使用以下代码在 HTML 文件中引入官方 CDN 版本的 jQuery。
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  1. 在 HTML 页面中添加一个用于显示新闻的容器元素。我们可以简单地使用 div 元素作为容器:
<div id="news"></div>
获取新闻数据

我们可以从一些开放的 API 中获取新闻数据,例如 News APIBing News Search API 等。这些 API 通常提供 JSON 格式的数据。

在本篇文章中,我们将使用 News API 中的 Top Headlines 接口获取新闻数据。该接口可以根据一些参数(例如国家、语言、类别、关键字等)返回最新的新闻文章。我们需要注册 News API 并获取 API Key,以便在代码中使用它。

我们可以使用 jQuery 的 $.ajax() 方法发送异步 GET 请求获取数据。以下是使用 News API 获取简体中文最新新闻的样例代码:

$.ajax({
  url: 'https://newsapi.org/v2/top-headlines',
  method: 'GET',
  data: {
    country: 'cn',
    language: 'zh',
  },
  headers: {
    'X-Api-Key': 'YOUR_API_KEY_HERE',
  },
  success: function(response) {
    console.log(response.articles);
  },
  error: function(error) {
    console.error(error);
  },
});

其中,url 为 News API 提供的 API 地址,method 为请求方法,data 为请求参数,headers 为请求头,success 为异步请求成功时的回调函数,error 为异步请求失败时的回调函数。

在回调函数中,我们可以使用 response.articles 获取返回的文章列表。接下来,我们需要将文章列表显示在 HTML 页面中。

显示新闻数据

我们可以使用 jQuery 的元素选择器和 DOM 操作将新闻数据显示在 HTML 页面中。以下是将获取到的新闻数据显示在 #news 容器中的代码:

$.ajax({
  url: 'https://newsapi.org/v2/top-headlines',
  method: 'GET',
  data: {
    country: 'cn',
    language: 'zh',
  },
  headers: {
    'X-Api-Key': 'YOUR_API_KEY_HERE',
  },
  success: function(response) {
    const articles = response.articles;
    const $news = $('#news');
    articles.forEach((article) => {
      const $article = $('<div>').addClass('article');
      const $title = $('<a>').addClass('title').attr('href', article.url).text(article.title);
      const $source = $('<span>').addClass('source').text(article.source.name);
      const $publishedAt = $('<span>').addClass('publishedAt').text(article.publishedAt);
      $article.append($title, $source, $publishedAt);
      $news.append($article);
    });
  },
  error: function(error) {
    console.error(error);
  },
});

其中,$news 为选中的 #news 元素,$article 为包含每篇文章信息的 div 元素,$title 为文章标题链接,$source$publishedAt 分别为文章来源和发布日期。将这些元素添加到 $article 中,然后将 $article 添加到 $news 中即可。

效果展示

以上代码可以生成一个简单的新闻自动收报机,如下所示:

news_reader

结语

在本文中,我们学习了使用 jQuery 创建新闻自动收报机的方法。使用 jQuery 的元素选择器、异步请求和 DOM 操作,我们可以轻松地获取和显示新闻数据。这个收报机只是一个简单的例子,您可以根据自己的需要修改和扩展它。