эхо в laravel не может показать, возвращаю ли я redirect () - PullRequest
0 голосов
/ 05 октября 2019

Я хочу показать предупреждение в моей функции create (), а затем вернуться к другой функции. Но предупреждение не отображается

Я использую echo "alert ('DONE')";но это не работает

public function create(){
    echo "<script>alert('DONE')</script>";
    return redirect()->route('view');
}

Я ожидаю показа предупреждений, прежде чем вернуться к другой функции

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

При возврате вашего перенаправления вы можете связать «withSucess» с аргументом, являющимся вашим желаемым сообщением об успехе.

return redirect()->route('view')->withSuccess('Done');

А затем в файле шаблона блейда маршрута, на который вы перенаправляете:

@if(!empty($successMessage = \Illuminate\Support\Facades\Session::get('success')))
    <script>
        $(function () {
            @if($successMessage)
                alert('{{ $successMessage }}');
            @endif
        });
    </script>
@endif

Надеюсь, это поможет!

0 голосов
/ 05 октября 2019

Если вы используете AJAX с JS / JQuery, то при обратном вызове ajax вы получите некоторый «ответ» от back-end, который будет новым URL-адресом, например:

 // ... your logic
 // here don't need to echo anything
 return route('view'); // from back-end you can just send only the URL

Ина стороне клиента вы можете получить этот URL и после нажатия кнопки ОК в окне оповещения вы будете перенаправлены на извлеченный URL, например:

 function (response) { // this is AJAX callback
     alert("DONE!");
     window.location.href = response;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...