首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Post请求状态代码: 405方法不允许

Post请求状态代码: 405方法不允许
EN

Stack Overflow用户
提问于 2020-01-12 20:56:38
回答 1查看 1K关注 0票数 0

单击submit按钮提供状态代码: 405方法不允许

消息:“此路由不支持POST方法。支持的方法: GET,HEAD。”

例外:"Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException“

文件:"C:\laragon\www\steklo-group\vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php“

但我的身体没有什么特别的东西。怎么啦?我有另一种形式,以同样的方式和工作。

代码语言:javascript
复制
<template>

  <div class="cart">
    <form method="POST" id="add_to_cart" action="/add_to_cart" @submit.prevent="onSubmit">
      <input type="hidden" name="_token" :value="csrf">
      <div class="quantity">
        <button type="button" class="minus_quantity" v-on:click="minus_quantity" v-long-press="300" @long-press-start="longMinusStart" @long-press-stop="longMinusStop">-</button>
        <input type="number" class="input-text qty text" step="1" min="1" max="9999" name="quantity" value="1" title="Кол-во" v-model.number="quantity">
        <button type="button" class="plus_quantity" v-on:click="plus_quantity" v-long-press="300" @long-press-start="longPlusStart" @long-press-stop="longPlusStop">+</button>
      </div>
      <button type="submit" name="add-to-cart" class="button button-cart">В корзину</button>
    </form>   
  </div>

</template>

<script>
    import LongPress from 'vue-directive-long-press';

    export default {

        name: "addtocart",

        data: function () {
          return {
            csrf: document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
            quantity: 1,
            plusInterval: null,
            minusInterval: null,
            success: false,
            errors: []
          }
        },
        directives: {
          'long-press': LongPress,
        },
        methods: {
          onSubmit() {
            axios.post('/add_to_cart', this.$data)
            .then(this.onSuccess)
            .catch(error => this.errors = error.response.data);
          },
          onSuccess(response) {
            this.success = true;
            this.$emit('added_to_cart', response);
          },

        },
    }
</script>
代码语言:javascript
复制
Route::get('/add_to_cart', 'Controller@add_to_cart');

在控制器中,我只是设置了基本操作来检查它是否工作。

代码语言:javascript
复制
    public function add_to_cart(Request $request) {

        request()->validate([
            'quantity' => 'numeric'
        ]);

        return [
            'message' => 'Товар добавлен в корзину.', 
            'alertclass' => '', // 'success', 'info', 'error'
                ];

    }
EN

回答 1

Stack Overflow用户

发布于 2020-01-13 16:27:18

答案很简单,method="POST"Route::get(...)非常感谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59708060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档