gpt4 book ai didi

javascript - 处理从 Django/JQuery 到 javascript Urllib3 的响应对象

转载 作者:太空宇宙 更新时间:2023-11-04 16:00:18 25 4
gpt4 key购买 nike

我需要从 BBC 下载头条新闻并在 Django 中使用 Ajax 和 jquery。我目前正在尝试使用 Urllib3 创建一个请求,以从 BBC 网站获取 RSS/XML 热门新闻数据,网址如下:

'http://feeds.bbci.co.uk/news/rss.xml '

我已经创建了我相信的请求,但是当返回的对象将其传递回我的 HTML/Javascript 时,它不起作用,并且出现以下错误。

我通过window.onload方法传递的对象是:on_success({{ AllNews }}) url object

并给出错误“未捕获的语法错误:意外的标记&”

我的 HTML 和 Views.py:

from django.shortcuts import render
import urllib3
import urllib3.request
import json


def index(request):
http = urllib3.PoolManager()
r = http.request('GET', 'http://feeds.bbci.co.uk/news/rss.xml')
xml_news = r.data
context = {'AllNews': xml_news}
return render(request, 'home/NewsHome.html', context)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="application/javascript">
function upon_success (xml) {
alert('ok');
xml.find('item').each(function(){
var title = $(this).find('title').text();
msg =+ "<li> " + title + " </li>"
$("#AllNews ul").append(msg)
}
)};
{% if AllNews %}
window.onload = upon_success({{ AllNews | safe }});
{% endif %}
</script>
</head>
<body>
<h1>Top News: BBC versus CNN</h1>
<ul id="AllNews"></ul>
</body>
</html>

我不明白如何将响应对象传递回 Javascript,以便我可以尝试提取新闻标题!任何信息或建议将不胜感激!

最佳答案

request 方法不会只返回纯文本响应,而是包含响应、状态代码、 header 和一些其他数据的 python 对象。它不能直接传递给 JavaScript。

如果您只想传递纯文本响应,请更改:

    xml_news = r

至:

    xml_news = r.data

它将包含来自 RSS URL 的纯 XML 响应。您可以在 Python 中解析它(并仅以 JSON 格式传递给 javascript 有意义的值),也可以将其按原样传递给 javascript,在 javascript 端处理它的解析。

关于javascript - 处理从 Django/JQuery 到 javascript Urllib3 的响应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42329773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com