首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MethodNotAllowedHttpException在RouteCollection.php 218行中的误码

MethodNotAllowedHttpException在RouteCollection.php 218行中的误码
EN

Stack Overflow用户
提问于 2016-12-11 09:03:00
回答 1查看 732关注 0票数 0

我正在尝试构建使用图像干预将图像保存在我的公用文件夹中的控制器。我使用了克罗维特 jquery插件进行图像裁剪,并使用了ajax。错误“MethodNotAllowedHttpException in RouteCollection.php第218行” occurs.Below是我的控制器、路由和视图。

CropController.php

代码语言:javascript
复制
<?php

namespace App\Http\Controllers;


use Illuminate\Http\Request;
use Image;

class CropController extends Controller
{
    public function crop(Request $request){
        $img = $request->image_data;
        $img = str_replace('data:image/png;base64,', '', $img);
        $img = str_replace(' ', '+', $img);
        $data = base64_decode($img);
        Image::make($data)->save('images/images.jpg');
        dd("image saved in images/images.jpg");
    }
}

web.php

代码语言:javascript
复制
Route::get('/', function () {
    return view('welcome');
});
Route::post('/image-crop',[
    'uses'=>'CropController@crop',
    'as'=>'image-crop',
]);

welcome.blade.php

代码语言:javascript
复制
<body>
    <form method="post">
    <input type="hidden" value="{{Session::token()}}" name="_token">
      <div class="image-editor">
        <input type="file" class="cropit-image-input">
        <div class="cropit-preview"></div>
        <div class="image-size-label">
          Resize image
        </div>
        <input type="range" class="cropit-image-zoom-input">
        <input type="hidden" name="imagedata" class="hidden-image-data" />
        <button type="submit">Submit</button>

      </div>
    </form>



    <script>

    var url1="{{route('image-crop')}}";
      $(function() {
        $('.image-editor').cropit();

        $('form').submit(function() {
            //event.preventDefault();
          // Move cropped image data to hidden input

          var imageData = $('.image-editor').cropit('export');
          $('.hidden-image-data').val(imageData);

          // Print HTTP request params
          var formValue = $(this).serialize();

            $.ajax({
               type:'post',
               data:formValue,
               url: '/image-crop',
               success: function(data){
               $('#result-data').text('New file in: images/'+data);
               $('#crop').show();
              }

         })
            .done(function(){
                window.location.href=""+'/image-crop';
            });          


          return true;
        });
      });
    </script>
  </body>

如何解决这个错误?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-11 11:24:29

嘿,试着在你的版面上添加这个图元。

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

同样在ajax请求中添加此$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });

如果成功,请告诉我!

https://laravel.com/docs/5.1/routing#csrf-x-csrf-token

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

https://stackoverflow.com/questions/41084526

复制
相关文章

相似问题

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