Ошибка: запрос не выполнен с кодом состояния 405 - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь установить образец axios в комбинации laravel response.js. Я настроил свой проект, выполнив следующие команды: composer create-project --prefer-dist laravel / laravel Reaction-laravel-basic-8.Предварительная настройка php ремесленника реагирует на npm устанавливает исправление аудита npm - заставляет npm устанавливать оси npm запускает dev php artisan serve.Мой файл web.php -

Route::get('/', function () {
    return view('welcome');
});
Route::get('add-a-student',function()
{
    return view('add_student');
});
Route::get('/testing/','Admin@testing');

Мой контроллер Admin.php -

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class Admin extends Controller
{

    public function testing()
    {
        echo "hello alert";
    }
}

И мой взгляд add_student.blade.php -

<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
    <title>React axios</title>
    <link rel="stylesheet" href="{{ asset('css/app.css') }}">
    </head>
    <body>
        <div id="basic"></div>
        <script src="{{ asset('js/app.js') }}">
        </script>
    </body>
</html>

И мойФайл jsx находится в ресурсах / assets / js / components / Example.jsx, т. е.

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';

export default class Example extends Component {
    render() {
        return (
            <div className="container">
                <div className="row">
                    <div className="col-md-8 col-md-offset-2">
                        <div className="panel panel-default">
                            <div className="panel-heading">Example Component</div>

                            <div className="panel-body">
                                I'm an example component!
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        );
    }
}
class Developer extends React.Component{
    handlesubmit(e)
    {
        e.preventDefault();
        axios.post('/testing/', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    alert('success');
  })
  .catch(function (error) {
    alert(error);
  });

    }
    render()
    {
        return(<div><form onSubmit={this.handlesubmit}>
            <table>
            <tr>
            <td>
            <label>Date of birth</label>
            </td>
            <td>
            <input type="date" name="dob"  />
            </td>
            </tr>
            <tr><td><button type="submit">Add student</button></td>

             <td><button type="reset">Cancel</button></td>
            </tr>
            </table>
            </form></div>);
    }
}

if (document.getElementById('example')) {
    ReactDOM.render(<Example />, document.getElementById('example'));
}
if(document.getElementById('basic'))
{
    ReactDOM.render(<Developer />,document.getElementById('basic'));
}

Произошла следующая ошибка. Ошибка: запрос не выполнен с кодом состояния 405 при попытке отправить форму с помощью метода axios.исправить ошибку

1 Ответ

0 голосов
/ 21 сентября 2018

Причина, по которой вы получаете эту ошибку, заключается в том, что вы отправляете запрос POST на маршрут GET .

Следовательно, вы можете изменить свой маршрут с GET на POST , чтобы иметь возможность обрабатывать POST запросов.

Изменитьэто

Route::get('/testing/','Admin@testing');

в это

Route::post('/testing/','Admin@testing');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...