Php laravel请求Ajax不工作
在我的表单中,我想将ajax与Php laravel请求Ajax不工作,php,jquery,ajax,laravel,laravel-4,Php,Jquery,Ajax,Laravel,Laravel 4,在我的表单中,我想将ajax与$一起使用。在使用$之后,post和submit表单我的页面将刷新并发出警报,控制器的验证不起作用 控制器中的简单请求ajax无法正常工作 我的表格: <script type="text/javascript"> $(document).ready(function(){ $('form').submit(function(){ name = $('#name').val(); family
$一起使用。在使用$之后,post
和submit表单我的页面将刷新并发出警报,控制器的验证不起作用
控制器中的简单请求ajax无法正常工作
我的表格:
<script type="text/javascript">
$(document).ready(function(){
$('form').submit(function(){
name = $('#name').val();
family = $('#family').val();
email = $('#email').val();
currPassword = $('#currPassword').val();
password = $('#password').val();
password_confirmation = $('#password_confirmation').val();
$.post('{{ URL::route('admin.profile.update') }}' ,
{
name : name,
family : family,
email : email,
currPassword : currPassword,
password : password,
password_confirmation : password_confirmation
},
function(data){
if(data.errors)
alert(data.errors)
}
);
//return false;
});
})
</script>
{{ Form::model($profile, array('route' => array('admin.profile.update', $profile->id), 'method' => 'PUT')) }}
<div style='padding:10px;font-weight: bold;'>ویرایش مشخصات شخصی</div>
<table style='width:95%;border:none;font-size:11px;margin: 5px;text-align: left'>
<tr>
<td width="80px">{{ Form::label('name' , 'نام: ') }}</td>
<td>{{ Form::text('name',null , array('id'=>'name', 'class' => 'form-control' )) }}</td>
</tr>
<tr>
<td>{{ Form::label('family' , 'نام خانوادگی: ') }} </td>
<td>{{ Form::text('family', null, array('id'=>'family', 'class' => 'form-control')) }}</td>
</tr>
<tr>
<td>{{ Form::label('email' , 'ایمیل: ') }}</td>
<td>{{ Form::text('email', null, array('id'=>'email', 'class' => 'form-control ltr')) }}</td>
</tr>
<tr>
<td>{{ Form::label('currPassword' , 'رمز عبور فعلی: ') }}</td>
<td>{{ Form::password('currPassword', array('id'=>'currPassword', 'class' =>'form-control ltr')) }}</td>
</tr>
<tr>
<td>{{ Form::label('password' , 'رمز عبور: ') }}</td>
<td>{{ Form::password('password', array('id'=>'password', 'class' =>'form-control ltr')) }}</td>
</tr>
<tr>
<td>{{ Form::label('password_confirmation' , 'رمز عبور مجدد: ') }}</td>
<td>{{ Form::password('password_confirmation', array('id'=>'password_confirmation', 'class' =>'form-control ltr')) }}</td>
</tr>
<tr>
<td colspan="2">{{ Form::submit('ویرایش مشخصات', array('id'=>'submit','class'=>'btn btn-default' , 'style'=>'float:left')) }}</td>
<td></td>
</tr>
</table>
{{ Form::close() }}
我的路线:
Route::group(array('before' => 'auth'), function()
{
Route::resource ('admin/profile' , 'ProfileController', array('as'=>'profile' , 'before'=>'csrf'));
});
我认为问题在于表单提交是因为您没有使用preventDefault()
,但在前面的问题中,我看到您在努力使其正常工作。这就是您的页面刷新的原因
您可以使用Form::submit()
,而不是使用Form::button()
,这将阻止表单提交,从而允许您使用javascript随心所欲。然后,不要使用$('form').submit()
,因为它没有提交,所以应该不再工作,而是将处理程序附加到按钮的click事件<代码>$(“#提交”)。在('click',function(){//code goes here})上代码>
不幸的是,如果用户没有在浏览器中启用javascript,表单将无法正常工作,这会带来负面影响
此外,根据您使用的浏览器,您应该在使用开发人员工具时查看XHR请求,以查看是否返回任何错误或状态。您是否达到了操作要求?你在路上有一个过滤器。。尝试禁用it@VitKos巫婆过滤器???不,是认证过滤器和csrf。你有什么错误。另外,正如Vit Kos在上面所问的那样,它是否到达了您的路线?@wartivepage正在刷新并且$。post
和Request::ajax
不起作用。
Route::group(array('before' => 'auth'), function()
{
Route::resource ('admin/profile' , 'ProfileController', array('as'=>'profile' , 'before'=>'csrf'));
});