Php 如何从jQueryAjax调用控制器的方法。找不到获取请求404的url
我有我的模态,这里的代码Php 如何从jQueryAjax调用控制器的方法。找不到获取请求404的url,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有我的模态,这里的代码 <!-- Modal --> <div class="modal fade" id="box-modal" tabindex="-1" role="dialog" aria-labelledby="myModal" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content
<!-- Modal -->
<div class="modal fade" id="box-modal" tabindex="-1" role="dialog" aria-labelledby="myModal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title"><!-- Aqui va el titulo de la pagina modal -->@yield('modal_title')</h4>
</div>
<div class="modal-body">
@yield('modal_body')
<div class="alert hidden" id="modal-alert"></div>
<!--Aqui va el cuerpo de la página modal -->
</div>
<div class="modal-footer">
<!-- Aquí va el pie de la pagina modal -->
@yield('modal_footer')
</div>
</div>
</div>
</div>
<!-- Fin de Modal -->
但它不去控制器,不工作,我收到一个错误404找不到url
我给管制员打电话
Route::Controller('users','UsersController');
控制器用户控制器代码
class UsersController extends BaseController
{
//metodo para agregar al usuario
public function postCreate()
{
//validamos reglas inputs
$rules = array(
'inputuser' => 'required|max:10',
'inputpassword' => 'required|min:8',
'inputpassword1' => 'required|min:8',
'inputemail' => 'required|email|unique:users'
);
$validation = Validator::make(Input::all, $rules);
//Si no pasa la validacion
if($validation->fails())
{
return Redirect::back()->with_input()->with_errors($validation);
}
//Si todo ha ido bien guardamos
$password = Input::post('inputpassword');
$user = new User;
$user->username = Input::post('inputuser');
$user->password = Hash::make($password);
$user->email = Input::post('inputemail');
$user->admin = Input::post('es_admin');
//guardamos
$user->save();
//redirigimos a usuarios
return Redirect::to('admin/users.index')->with('status','ok_create');
}
}
我做错了什么?您的路线被称为
route::Controller('users','userscocontroller')代码>但您正在调用url:'users/Create'
,这可能不存在
一种方法是将路线更改为:
Route::post('users','UsersController@postCreate');代码>
这样,它就是一个POST
路由,您可以告诉路由使用UsersController中的哪个方法
然后将Ajax调用url属性设置为:url:“用户”
另外,您的Ajax调用属性数据应该如下所示:
data: {
myInput: $("#formuser-create").serialize()
}
这样,您可以在控制器中以Input::get('myInput')
的形式获得提交的数据
这与您的问题没有直接关系,但是{{Form::submit()}
和{Form::reset()}
应该在{{Form::close()}
之前,请删除您问题的模式部分,因为它与您的问题无关
Route::Controller('users','UsersController');
class UsersController extends BaseController
{
//metodo para agregar al usuario
public function postCreate()
{
//validamos reglas inputs
$rules = array(
'inputuser' => 'required|max:10',
'inputpassword' => 'required|min:8',
'inputpassword1' => 'required|min:8',
'inputemail' => 'required|email|unique:users'
);
$validation = Validator::make(Input::all, $rules);
//Si no pasa la validacion
if($validation->fails())
{
return Redirect::back()->with_input()->with_errors($validation);
}
//Si todo ha ido bien guardamos
$password = Input::post('inputpassword');
$user = new User;
$user->username = Input::post('inputuser');
$user->password = Hash::make($password);
$user->email = Input::post('inputemail');
$user->admin = Input::post('es_admin');
//guardamos
$user->save();
//redirigimos a usuarios
return Redirect::to('admin/users.index')->with('status','ok_create');
}
}
data: {
myInput: $("#formuser-create").serialize()
}