我正在一个Laravel项目中,在其中我有一个可以编写样式文本的表单,在使用WYSIWYG编辑器的表单内部,表单的方法是POST。有时,当我提交表单时会给我(此路线不支持GET方法。受支持的方法:POST)。 [这通常在我给文字添加样式时发生添加背景色或插入阿拉伯字符。但是当我插入纯文本英语单词时,它可以按预期运行,并且一切正常。
我在[[index.php文件顶部添加了header("Content-Type: text/html;charset=UTF-8");
,但结果未更改]
注意:该应用程序可以在我的本地xampp服务器上运行,但是当我在线上传时出现问题。
这里是form.blade.php(视图)<form method="POST" action="{{action('MainController@Insert')}}" accept-charset="utf-8">
{{csrf_field()}}
@method('post')
<input type="text" name="title" class="form-control" placeholder="Title"/>
<textarea name="details" id="myeditor"></textarea>
<input type="submit" value="Save"/>
</form>
<script>
CKEDITOR.replace('myeditor');
</script>
这是我的web.php(路由)
Route::get('/', function () { return view('welcome'); }); Route::get('/form','MainController@LoadForm'); Route::post('/save','MainController@Insert');
并且是我的控制器
public function LoadForm(Request $req){ return view('form'); } public function Insert(Request $req){ DB::table('notes')->insert(["title"=>$req->title,"details"=>$req->details]); return redirect()->back()->with(["message"=>"Note Saved Successfully!"]); }
问题出在哪里?
从您的代码中删除@method('post')
。
<form action="/save" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="text" name="title" class="form-control" placeholder="Title"/>
<textarea name="details" id="myeditor"></textarea>
<input type="submit" value="Save"/>
</form>
<form method="POST" action="/save" accept-charset="utf-8">
{{csrf_field()}}
<input type="text" name="title" class="form-control" placeholder="Title"/>
<textarea name="details" id="myeditor"></textarea>
<input type="submit" value="Save"/>
</form>