2017-12-11 12 views
0
$.ajax({ 
    type: 'GET', 
    url: 'weatherProxy.php', 
    dataType: 'xml', 
    success: function (xml){ 
     titles=this.responseXML.getElementsByTagName('title') 
     for(i=0; j <titles.length; i++){ 
      out+= titles[i].childNodes[0].nodeValue + '<br>'      
     } 
    } 
}); 

私はAjaxのget要求を通じてURLから情報を取るしようとしていますweatherProxy.phpjavascriptとajaxを使ってweather RSSフィードからデータを取得するには?

if (isset($_GET['http://open.live.bbc.co.uk/weather/feeds/en/2645425/3dayforecast.rss'])){ 
header('Content-Type: text/xml'); 
echo file_get_contents($_GET['http://open.live.bbc.co.uk/weather/feeds/en/2645425/3dayforecast.rss']); 

、私は「いいえ、アクセス制御許可の起源」エラーを回避しないようにプロキシを介してRSSフィードを渡します。現時点では、私は何か間違っているのだろうかと思っていました。 RSSフィードの各タイトルを配列タイトルに追加する必要があります。

答えて

-1

あなたの例を試してみました。あなたはhttpsでないHTTPを呼び出すので、混合コンテンツの警告が表示されます。

これを試してみてください:

$.ajax({ 
    "url": "https://open.live.bbc.co.uk/weather/feeds/en/2645425/3dayforecast.rss", 
    "method": "GET" 
}).done(function (response) { 
    console.log(response); 
}); 
+0

OPが自分のサーバでプロキシを呼び出しています – charlietfl

1

$_GETを削除...あなたは間違ってそれを使用している

試してみてください。

header('Content-Type: text/xml'); 
echo file_get_contents('http://open.live.bbc.co.uk/weather/feeds/en/2645425/3dayforecast.rss'); 

が続いてAJAXの成功にあなたはjQueryのメソッド

を使用して解析をsimplfyすることができます
$(xml).find('item').each(function(){ 
    var title = $(this).find('title').text(); 
    console.log(title) 
}) 
+0

未知のTypeError:未定義のgetElementsByTagNameのプロパティを読み取ることができません –

+0

誤って 'xml'変数を引用符で囲んでいました...更新でもう一度試してください – charlietfl

+0

作品は完璧です!ありがとうございました! –

関連する問題