首页 > 解决方案 > 控制器的刀片文件中没有很好地接收参数

问题描述

我正在尝试在 laravel 中显示书籍。当第 1 本书加载时,它会显示书的第一页.. 但是当我单击书签按钮时,它会重新加载页面但不再显示书。我正在使用 pdf.js 。

我的 Javascript 函数:

function pdf( count , scale)
    {      console.log(count);

          pdfjsLib.getDocument('../uploads/{{$book->file_path}}').then (doc => {
          doc.getPage(count).then(page => {
                var myCanvas=document.getElementById('my-canvas');
                var context= myCanvas.getContext('2d');

                const viewport = page.getViewport(scale);
                 myCanvas.height = viewport.height;
                 myCanvas.width = viewport.width;

                page.render({
                    canvasContext: context,
                    viewport: viewport
                });
              });
         });     
    }
function bookmark()
    {
        var url= '{{route('save_bookmark', ['b_id' => ':b_id', 'p_no' => ':p_no'])}}';   
          url = url.replace(':b_id', book);
          url = url.replace(':p_no', count);
         document.location.href = url;
    }

我的路线:

Route::get("save_bookmark/{b_id}/{p_no}",'BookmarkController@create')->name('save_bookmark');

我的控制器:

public function create($b_id, $p_no)
    {
        $b=new bookmark;           
        $b->u_id=Auth::user()->id;
        $b->book_id=$b_id;
        $b->p_no=$p_no;
        $b->save();     
        $b=Book::find($b_id);
        return view('pages/readbook')->with('book', $b)->with('count',$p_no);   

    }

当第 1 本书打开时一切正常,但在单击书签后,它没有找到书。我已经测试过这本书和计数变量都很好。

错误:

GET http://localhost/BookLibrary/public/save_bookmark/uploads/51312.pdf 500 (Internal Server Error)

有什么建议么??

标签: laravelcontrollerroutespdf.js

解决方案


推荐阅读