想要使用Ajax获取URL数据

时间:2017-02-22 05:35:41

标签: json ajax laravel asynchronous

http://samples.openweathermap.org/data/2.5/history/city?q=London,UK&appid=XXXXXXXXX

这是显示伦敦历史天气的链接

我想在Laravel 5.3中调用ajax来显示通过上面链接检索的数据。

有人知道如何在laravel + Ajax中进行异步调用

2 个答案:

答案 0 :(得分:1)

对于Laravel Async,您可以使用Laravel Queues

实施将是这样的

创建一个新工作

public function handle()
    {
        $appid = 'YOUR_API_KEY';

        $url = "http://samples.openweathermap.org/data/2.5/history/city?q=London,UK&appid=" . $appid;
        $json = json_decode(file_get_contents($url), true);

        dd($json);
        //DO_SOMTHING_IN_YOUR_JSON
    }

请注意,此方法将在后台运行。

对于JS Ajax请求(假设您导入jQuery)

var appId = YOUR_APP_ID;
var url = "http://samples.openweathermap.org/data/2.5/history/city?q=London,UK&appid=" + appId;
$.ajax({
    type: "GET",
    url: url,
    success: function( response) {
        //DO_SOMTHING_WITH_YOUR_JSON
    }
});

答案 1 :(得分:0)

$.ajax({
    type: "GET",
    url:'http://samples.openweathermap.org/data/2.5/history/city?q=London,UK&appid=XXXXXXXXX',
    success: function( response) {
        console.log(response)
    }
});

然后,您可以将URL更改为您想要的任何内容。无论是laravel还是直接到天堂API。

如果你打电话给Laravel,那么在Laravel中,使用Guzzle来调用weather API,并在控制器中对结果做任何你想做的事。