0
我正在尝试下载BBC网站的热门故事。并将它们显示在HTML网页上。以前我试图通过javascript中的ajax来做到这一点。但是,我得到的错误如下:Ajax Jquery xml数据请求需要在django后端运行
“XMLHTTPRequest无法将我的页面加载为不存在Access-Control-Allow-Origin'标头存在于请求的resource.cso中因此不允许访问。“
我做了一些更多的研究,并发现,因为我在Django中这样做,我需要使用我的views.py文件而不是ajax从URL请求对象。
我一直在研究今天的大部分,没有成功,所以想知道如果有人可以帮助我或转发我的一些链接,可以!
我当前的代码如下:
News.js:
$(document).ready(function(){
\t
\t function an(){
\t \t $("#TopNews").append("<ul></ul>");
\t \t $.ajax({
\t \t \t type: "GET",
\t \t \t url: "http://rss.cnn.com/rss/cnn_topstories.rss",
\t \t \t dataType: "xml",
\t \t \t success: function upon_success (xml) {
\t \t \t \t if(response.status === "success"){
\t \t \t \t \t $(xml).find('item').each(function(){
\t \t \t \t \t \t var Titles = $(this).find('title').text();
\t \t \t \t \t \t $("<li></li>").html(Titles).appendTo("#TopNews ul");
\t \t \t \t \t });
\t \t \t \t }
\t \t \t \t else if (response.status === "error"){
\t \t \t \t \t alert("The XML File could not be processed correctly.");
\t \t \t \t }
\t \t \t }
\t \t });
\t };
\t $("#btn").click(an);
});
Html:
{% load staticfiles %}
<!DOCTYPE html>
<html>
\t <head>
\t \t <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src={% static "js/News.js" %}></script>
\t </head>
\t <body>
\t \t <h1>Top News: BBC versus CNN</h1>
\t \t <input type="submit" id="btn" value="Refresh"></imput>
\t \t <ul id="TopNews"></ul>
\t </body>
</html>
Views.py:views