【发布时间】:2015-11-08 22:26:37
【问题描述】:
当我从 Laravel 中的表单发出请求以将其存储在数据库中时,它会抛出此错误:MethodNotAllowedHttpException。
我不明白我做错了什么,请你帮帮我吗?
这是我的表格:
<form method="POST" action="/admin/ajax/edit">
{{ csrf_field() }}
<div class="textEdit">
<div class="marginizer">
<textarea id="edit" name="edit"></textarea>
</div>
</div>
<input type="submit">
</form>
这是我的路线文件:
Route::get('admin/dashboard', 'Dashboard@index');
Route::get('admin/dashboard/{id}', 'Dashboard@show');
Route::get('admin/dashboard/edit/{site}', 'Edit@edit');
Route::get('admin', 'Dashboard@index');
// Register and Login routes...
Route::get('admin/login', 'Login@index');
Route::get('admin/register', 'Register@index');
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
// Ajax routes
Route::post('admin/ajax/edit', 'EditAjax@store');
// UI routes
Route::get('/', 'ThemeLoader@index');
Route::get('/{site}', 'ThemeLoader@show');
Route::get('migrate', 'migrate@migrate');
Route::get('migrate/refresh', 'migrate@refresh');
这是处理请求的控制器:
public function store(Request $request) {
$content = new Content;
$content->site = 'Index';
$content->block = 1;
$content->content = $request->input('edit');
$content->active = 1;
$content->save();
}
它实际上将数据正确存储在数据库中,但它继续出现错误。
【问题讨论】:
-
也许你的路线不正确?尝试将您的操作切换为 `action="{{ url('admin/ajax/edit') }}"
-
你能发布你的ajax调用吗
-
我没有使用 ajax,我以前用过但现在不用了
-
如果是这种情况,那么您将需要在您的
store方法中添加一个return.. 并且不再将其称为ajax可能是有意义的
标签: php database forms laravel-5.1