#php #jquery #laravel
#php #jquery #laravel
Вопрос:
Я делаю запрос cURL на другой сервер и извлекаю оттуда массив. С обычной страницы php при нажатии кнопки запрос jQuery передается на мой контроллер, и я должен вернуть массив cURL, который я получаю, на другую страницу. Я использую return view
, но он ничего не делает.
Я пробовал с обратным ответом
return Response::json(array(
'success' => true,
'message' => "listing",
'list' => $listing,
));
А также с
return view('page2', ['list' => $listing]);
Вот функция контроллера
public function listStuff(Request $request){
$url = 'http://someting.com/rest.php';
$params = array('action' => 'list', 'token' => 'xxx');
$session = curl_init($url);
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
$listing = $response;
curl_close($session);
Debugbar::info($listing);
return view('page2', ['list' => $listing]);
}
Я проверил с помощью debugbar, что массив проходит. Если я попытаюсь изменить представление с return view
помощью и передать массив, представление не загружается.
Комментарии:
1. попробуйте использовать библиотеку guzzle
2. Попробуйте вернуть перенаправление? laravel.com/docs/5.8/redirects
Ответ №1:
Я бы предложил JSON, поскольку с него легко начать.Итак, попробуйте что-то вроде этого
$listing= json_decode(trim($p_result), TRUE);
return view('page2', ['list' => $listing]);