我想执行以下操作:从多个站点获取新闻,使用jQuery选择器解析其内容并在一个页面上显示它们。
如何用jQuery完成?
感谢。
答案 0 :(得分:3)
出于安全原因,JavaScript(以及jQuery)AJAX方法只能从与您的站点相同的域中的URL检索数据。
然而,有一些解决办法。您可以使用服务器端脚本为您下载远程内容 - 将其视为代理。或者,您可以查看JSONP,但远程站点需要提供它。
答案 1 :(得分:1)
它不能与纯jQuery或JavaScript一起使用,因为您无法从运行脚本的域中获取内容。这是一项防止Cross Site Scripting
的安全措施但请在此处查看可能的解决方案:Cross site scripting(XSS)
答案 2 :(得分:1)
除非您的新闻来自明确提供根据您的需要获取内容的机制的网站,否则您无法从客户端(浏览器)执行此操作。但是,您可以从服务器中获取内容,然后将其以原始状态交给您的客户端。
答案 3 :(得分:1)
就javascript而言,除非他们使用API明确共享内容,否则您无法从其他页面获取内容。
您可以做的是,在服务器端使用cURL从其他网站获取数据,然后操纵服务器端并提供服务。
注意:获取属于他人的内容 - 在未经他们同意的情况下操纵内容并将其作为您自己的内容展示是一种麻烦的邀请。
答案 4 :(得分:1)
与其他回复相反,脚本块源不会被阻止进行跨域访问,因此如果您动态地将脚本块添加到页面的标题中,并将该站点的结果输出创建为回调(将其包装在函数调用基本上,并在你自己的代码中处理taht函数)然后你可以访问其他域上的内容 - 另一方面是你需要网站在回调中向你显示数据,否则它不起作用。
答案 5 :(得分:0)
如果你试图从支持rss feed获取新闻的网站,那么你可以使用像jFeed这样的jquery插件来检索rss,然后你就可以在你自己的网站上显示它。
虽然,我建议你设置一个web服务(在asp.net,php等),在你想要的网站上收集rss或scrape meta标签,然后使用jquery.get()来检索所有新闻