我试图在PHP中使用DOMDocument在另一个网站上显示wordpress RSS提要。来自标准Wordpress布局的RSS没有变化。用于将其拉入的代码如下:
$rss = new DOMDocument();
$rss->load('http://www.wchg.org.uk/news/feed/');
导致 500内部服务器错误。整个页面无法加载。
我试图通过jQuery Ajax调用来访问feed
jQuery.ajax({
type:'GET',
url:"http://www.wchg.org.uk/news/feed/",
dataType:'json',
async:false,
crossDomain: true,
success : function(data){
alert(data);},
error : function(httpReq,status,exception){
alert(status+" "+exception);
}
})
有了这个,我收到错误,说明没有设置 Access-Control-Allow-Origin 。我尝试将dataType设置为jsonp然后我得到语法错误意外令牌< 而不是
然后我最后将标题(" Access-Control-Allow-Origin:*"); 添加到整个网站的index.php文件的顶部,然后,这使得json和jsonp dataTypes给出了意外Token<。
的相同错误我似乎无法弄清楚如何最好地解决这个问题,甚至是什么导致它。自从我们从goDaddy转移到另一个托管服务以来,它才开始发生。
欢迎所有建议!!
答案 0 :(得分:0)
解决 我正在使用它来构建一个从另一个站点获取feed的newsticker,结束了抓取PHP路由并构建jQuery,因为php正在构建页面。似乎现在工作。仍然不知道导致内部服务器错误的原因
$list = '
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery.ajax({
url: \'http://www.wchg.org.uk/news/feed/\',
type: "GET",
dataType: "xml",
success: function (result) {
jQuery(result).find(\'item\').each(function () {
jQuery(".ticker").append("<li class=\"news-item\"><a href=\""+jQuery(this).find(\'link\').text()+"\" title=\""+jQuery(this).find(\'title\').text()+"\">"+jQuery(this).find(\'title\').text()+"</a></li>");
});
}
}).done( function() {
jQuery("#cbnewsticker'.$id.'").ticker({
controls: false,
displayType: "reveal",
});
});
});
</script>