Как получить ответ на запрос API через AJAX

Я пытаюсь получить ответ API Flickr через Ajax в моем приложении. Я использую Laravel. У меня есть определенный маршрут и функция для выполнения вызовов API.

//Route.php
Route::post('/getlocation/{latitude}/{longitude}', ['as'=>'get-location', 'uses'=>'FormController@getLocationImage']);

и функция

//getLocationImage()

//GET THE IMAGES BASED ON THE LOCATION FROM FLICKR.
$api_key = 'my_api_key_is_here';
$tag = 'night,sunset,sunrise,park,people,summer,tree,flowers';
$lat = '&lat='.$latitude;
$lon = '&lon='.$longitude;
$perPage = 12;
$url = 'https://api.flickr.com/services/rest/?method=flickr.photos.search';
$url.= '&api_key='.$api_key;
$url.= '&tags='.$tag;
$url.= $lat;
$url.= $lon;
$url.= '&per_page='.$perPage;
$url.= '&format=json';
$url.= '&nojsoncallback=1';

$response = json_decode(file_get_contents($url));
$photo_array = $response->photos->photo;
return Response::json(["success"=>"true", "photo_array"=>$photo_array]);

Теперь в функции jquery я вызываю Ajax.

$("#nomination-name").focus(function(){
$.post(
'/getlocation/'+$("#newLatitude").val()+"/"+$("#newLongitude").val(), // location of your php script
{ user: "bob", id: 1234 }, // any data you want to send to the script
function( data ){  // a function to deal with the returned information

alert(data);

});
});

Но когда я пытаюсь предупредить данные, это просто показывает [object Object]
Как я могу получить ответ обратно в вызове Ajax?
Вывод из консоли приведен ниже.

Object
photo_array: Array[12]
0: Objectfarm: 8
id: "16325992992"isfamily: 0
isfriend: 0
ispublic: 1
owner: "35736862@N03"secret: "b7044c5b46"server: "7548"title: "#snow #trees #winter #parcangrignon #montreal #livemontreal #themainmtl #mtlblog #vscocam"__proto__: Object
1: Object
..............

-1

Решение

То, что вы пытаетесь достичь, не должно быть трудным. Я не могу видеть содержимое photo_array, но пока вы знаете, как перебирать объект, у вас все будет хорошо.

for(i=0;i<data.images.length;i++) {
$("#images").append(data.images[i])
}

HTML

<div id="images"></div>

Вот код, который вам нужен, photo_array может не выглядеть одинаково, но это не должно вызывать проблему, просто перебирайте ее. Вот ссылка на мой тест.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]