在Django中使用Jquery / Ajax检索RSS xml新闻数据

时间:2017-02-19 11:39:27

标签: javascript jquery ajax django rss

我正在尝试执行以下操作:

我需要在Django中使用Ajax和jquery从BBC和CNN下载标题。我首先尝试在javascript中下载数据,但我得到了一个'Access-Control-Allow-Origin'所以我解决了我需要通过django中的后端来完成这项工作。这需要同步完成,这样就不必刷新浏览器来重新下载数据。

我的课程要求是:

  • 构建一个Web应用程序,使用他们的RSS(XML)源,并排显示BBC和CNN的标题。
  • 您的应用程序应该使用jQuery对Ajax的支持。
  • Django后端应该从以下网址下载新闻:

http://feeds.bbci.co.uk/news/rss.xml
http://rss.cnn.com/rss/cnn_topstories.rss

并根据ajax请求更新消息,向客户提供服务。

到目前为止,我有以下内容:

from django.shortcuts import render
import requests


def index(request):
    context = {}
    return render(request, 'home/Newshome.html', context)


def submit(request):
    xml_news = requests.get('http://rss.cnn.com/rss/cnn_topstories.rss')
    news = xml_news.content
    return render(request, 'home/Newshome.html', {'news': news})
<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
        $(document).ready(function() {
            $.ajax({
                type: "GET",
                url: "http://rss.cnn.com/rss/cnn_topstories.rss",
                dataType: "xml",
                success: function upon_success(xml) {
                    $(xml).find('item').each()
                }
            });
        });
        </script>
	</head>
	<body>
		<h1>Top News: BBC versus CNN</h1>
		{% for item in news %}
           <li>{{ item }}</li>
        {% endfor %}
	</body>
</html>

任何帮助将不胜感激!或指向可以帮助我的链接

0 个答案:

没有答案