ajaxはクロスドメインを許していないのでこうするしかない?わけではないけれど(提供会社による)

ライブドアが提供している天気予報APIをJSだけで
なんとか出来ないかと思ったので試してみたけれど無理でしたので、
一回、PHPで読み込んでその情報を取得するという事で解決。

昔はYahooがそういう事を提供してたみたいですが
提供終了してました。

<div style="display: table;">
        <div style="display: table-cell;">
            今日の天気::<br>
            <img id="weather_0" src="">
        </div>
        <div style="display: table-cell;">
            明日の天気<br>
            <img id="weather_1" src="">
        </div>
    </div>

 

<script>
$(function(){
    $.ajax({
        type: 'GET',
        //'http://weather.livedoor.com/forecast/webservice/json/v1?city=390010',
        url: 'https://zip358.com/weather/',
        data:null,
        dataType: 'json'
    }).done(function(data){
        $("#weather_0").attr("src",data.forecasts["0"].image.url);
        $("#weather_1").attr("src",data.forecasts["1"].image.url);
    });
});
</script>

google NewsをRSSで取得してjsonで返却するPHPプログラム

//$_POST["cate"]...カテゴリ
//$_POST["sh"]...検索キーワード

if($_POST["cate"] and $_POST["sh"]){
    $cate = urlencode($_POST["cate"]);
    $sh = urlencode($_POST["sh"]);
    $res = simplexml_load_file("https://news.google.com/news/rss/headlines/section/q/$sh/$cate?ned=jp&hl=ja&gl=JP");
    rss($res);
}

function rss($obj=NULL){

    if(is_object($obj)){
        if($obj->channel->item){
            $cnt = 0;
            foreach ($obj->channel->item as $item) {

                $resj[$cnt]["title"] = (string)$item->title;
                $resj[$cnt]["link"] = (string)$item->link;
                $resj[$cnt]["pubDate"] = (string)$item->pubDate;
                $resj[$cnt]["description"] = (string)$item->description;
                $resj[$cnt]["source"] = (string)$item->source;
                $cnt++;
            }
        }
    }
    echo json_encode($resj);
}

google NewsをRSSで取得してjsonで返却するPHPプログラムです。
ご自由にご使用ください。