Реагировать приложение с Laravel Back End, не могу вставить данные - PullRequest
0 голосов
/ 24 мая 2018

Я учусь создавать React JS WebApp с Laravel Back End.У меня проблема при попытке вставить данные, кажется, что моя функция вставки в контроллере не вызывается ни одним методом, который я пытаюсь.Вот код:

JS:

fetch( '/api/links/', {
        method:'post',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(link)
    })
        .then(response => {
            return response.json();
        })
        .then(data => {
            //update the state of links
        });

/routes/api.php:

Route::post('links', 'LinksController@store');

/app/Http/Controllers/LinksController.php:

public function store(Request $request)
{
    $link = new Link;
    $link->title = 'Hard Coded Just For Testing';
    $link->url = 'http://but.still/not-inserted-to-database/';
    $link->save();
    return response()->json(null, 200);
}

Я ожидаю, что в моей таблице ссылок должна быть новая запись, но ничего нового не вставлено.

Что я пропустил ??Пожалуйста, помогите.

ОБНОВЛЕНИЕ: Событие, хотя я установил метод для публикации в опциях извлечения, оказывается, когда я наблюдаю в инструментах разработчика - вкладках сети, он странным образом меняется на метод GET, поэтому он никогда не вызываетсяфункция моего магазина для вставки данных.Кто-нибудь знает, что вызывает это?

1 Ответ

0 голосов
/ 25 мая 2018

решено: получается, что из-за дополнительного '/' в конце URL-адреса выборки, в то время как в маршрутах / api.php URL-адрес не имеет '/' в конце, что вызывает перенаправление при первоначальном вызовена / api / links / с POST перенаправляется на / api / links с GET.ТАК просто сопоставьте URL идеально из маршрута и из выборки, решите проблему.

...