Запрос AJAX POST не работает в Laravel 5.6 - PullRequest
0 голосов
/ 27 августа 2018

При попытке использовать ajax-запрос в моем приложении с использованием Laravel 5.6 я обнаружил, что ajax-запрос не запускается.

Код моего контроллера

class AjaxController extends Controller
{
    function index(Request $request)
    {
        $msg = "Sample Messgae";
        return response()->json(['msg' => $msg)]);
    }
}

Маршрут,

web.php

Route::post('/message','AjaxController@index');
Route::get('/sample','UserRedirectController@ajaxRedirect');

Вид

<input type="text" name="ajax" id="ajax">
<input type="text" name="_token" value="{{csrf_token()}}" id="token" hidden>
<button id="save" onclick="ajaxRequestFun();">Show</button>
<span id="cont"></span>

Наконец сценарий

<script>
    $(document).ready(function(){
        $.ajaxSetup({
            headers: { 'X-CSRF-Token' :  $('meta[name=_token]').attr('content') }
        });
    });
    functon ajaxRequestFun()
    {
        $.ajax({
        type : 'POST',
        url : '/message',
        data : {'_token': {{csrf_token()}} },
        success:function(res){
            alert("success");
        }
        });
    }   
</script>

1 Ответ

0 голосов
/ 02 октября 2018

Наконец-то нашли какое-то решение, Я только что добавил метатег в тег заголовка представления, как.

<meta name="token" content="{{csrf_token()}}">

затем на стороне JavaScript сформировали данные для отправки, используя

var pass= {'_token':$('meta[name="token"]').attr('content'),
            'MessageContent': document.getElementById("message").value,
        };

и инициировал вызов ajax обычно с параметром data: в качестве переменной pass , которую я создал, Мой ajax-код похож на

$.ajax({
        type:'POST',
        url:'{{url("/message")}}',
        datatype:'json',
        data: pass,
        success:function(data){
            $("#bubble").html(data);
        }
    }).fail(function(jqXHR, textStatus, error){
        alert(jqXHR.responseText);
    });

что я нашел важным, это

Использование метатега с ключом csrf_token ()

что еще такое же, как и у других фреймворков,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...