Nano Hash - криптовалюты, майнинг, программирование

Как получить запрос JSON POST в Laravel

Я хочу выполнить POST Fetch на свой сервер Laravel из моего мобильного приложения React-Native. Я не знаю, какие части отсутствуют или что я делаю не так ... Вот получение:

fetch('http://example.com/react_test', {
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({
                name: inputName,
                email: inputEmail,
                phone: inputPhone
            }),
        }).then((response) => response.json())
            .then((responseJson) => {
                alert(JSON.stringify(responseJson))
            }).catch((error) => {
                alert(error);
        });

Я получаю данные в моем бэкэнде, как это, с маршрутом POST

Route :: post ('/ react_test', 'QuestionController @ index');

public function index($request){

        $n = $request->input('name');

        DB::table('admin_panels')->insert(['discord' => $n, 'twitter' => 'anan']);

        return response('helal');

    }

и я получаю эту ошибку:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException Нет сообщения

23.04.2018

  • Я не вижу никаких cross origin resource sharing настроенных выше. Судя по вашему описанию I want to post from my react native app to my laravel app, это будет требованием. 24.04.2018
  • как я могу добавить их правильно, может быть, напишу это как ответ, поэтому, если он сработает, я могу принять это как ответ 24.04.2018
  • Я проверил, как вы говорите, и добавил в заголовок 'Access-Control-Allow-Origin': '', 'Content-Type': 'multipart / form-data', теперь он не выдает никаких ошибок, но через некоторое время он дает Network Failed Ошибка запроса 24.04.2018

Ответы:


1

Прежде всего вам нужно игнорировать проверку поля csrf для этого маршрута.

В вашем приложении / Http / Middleware / VerifyCsrfToken.php

protected $except = [
    '/react_test',
];

Во-вторых, используйте аргумент в качестве запроса в вашем методе индекса.

use Illuminate\Http\Request;

public function index(Request $request){

    $n = $request->input('name');

    DB::table('admin_panels')->insert(['discord' => $n, 'twitter' => 'anan']);

    return response('helal');

}
24.04.2018
  • Хорошо, я проверю их и дам знать :) Спасибо! 24.04.2018
  • Ого, заработало !!! Большое спасибо! Так я должен поступать, когда мне нужно использовать запрос POST, да? 25.04.2018
  • Я продолжаю работать над этим и хотел спросить вас. Вы думаете, что игнорирование проверки токена csrf может вызвать некоторые проблемы с безопасностью? 01.09.2018
  • @Berke Да, игнорирование токена csrf может вызвать некоторые проблемы с безопасностью. Также принимаются запросы из любых неизвестных источников. Вы должны быть осторожны с этим. 01.09.2018
  • Я просто не понимаю, как они могут найти URL-адрес, который я использую, например? 01.09.2018
  • @Berke есть много способов найти URL-адреса. Браузеры помогают нам находить URL-адреса из раздела «Сеть». И ваш исходный код javascript легко доступен для всех клиентов. 02.09.2018
  • Хм, если так ... Как думаете, какие ценные бумаги мне тогда использовать? Вы бы мне что-нибудь посоветовали? 02.09.2018
  • На самом деле нам нужно управлять тем, что при входе пользователя в систему мы должны дать ему какой-то уникальный токен, и следующие запросы будут выполняться с этим токеном, верно? Вот в чем дело? 02.09.2018
  • @Berke Простая безопасность будет заключаться в том, что вы сохраняете сеанс сохранения перед загрузкой своей страницы и проверяете этот сеанс в своем методе. Или используйте, чтобы загрузить токен csrf в метатег и получить его с помощью javascript / jquery. ‹Meta name = csrf-token content = {{csrf_token ()}}› & headers: {'X-CSRF-TOKEN': $ ('meta [name = csrf-token]'). Attr ('content')} 02.09.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..