在简单的我的表单,我想使用ajax与$. post
和获取和发布请求后,使用$. post
和提交表单我的页面是刷新和警报不工作的控制器验证。
控制器中的简单请求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() }}
我的控制器:
public function update($id)
{
if ( Request::ajax() ){
$rules = array(
'name' => 'required|alpha',
'family' => 'required',
'email' => 'required|email',
'currPassword'=> 'required',
'password' => 'required|confirmed|min:4',
'password_confirmation'=>'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
/*
return Redirect::to('/admin/profile')
->withErrors($validator)
->withInput();
*/
return Response::json(array(
'errors'=>$validator
));
}
}
}
我的路线:
Route::group(array('before' => 'auth'), function()
{
Route::resource ('admin/profile' , 'ProfileController', array('as'=>'profile' , 'before'=>'csrf'));
});
我相信问题是表单正在提交,因为您没有使用预防默认值()
,但我看到您在前面的问题中努力使其正确工作。这就是为什么你的页面令人耳目一新。
您可以使用Form::submit()
,而不是使用Form::button()
,这将阻止表单提交,从而允许您使用javascript随心所欲。然后,不要使用$('form')。submit()
由于未提交,因此将不再工作,请将处理程序附加到按钮的单击事件<代码>$(“#提交”)。on('click',function(){//Code go here})
不幸的是,如果用户在浏览器中没有启用javascript,这会带来负面的副作用,即表单根本无法运行。
此外,根据您使用的浏览器,您应该在使用开发人员工具时查看XHR请求,以查看是否返回任何错误或状态。
我想用这段代码买它在程序中保持不变,特别是在你喜欢的时候。。。。 Jquery: Html 路线 控制器 当我点击“Calcula”按钮“Procesando,espere por favor…”屏幕上显示apears,但它不加载成功代码,有解决方案吗?? 谢谢!!
我正在使用Laravel 5.6--Jquery Ajax 我将该操作的返回作为带有数据的部分 我将主标记的内容替换为部分标记 除了当结果计数大于10(分页的断点)时,其他一切都正常工作。 我使用来显示控件
我在谷歌云存储上有两个文件:a.wav和b.txt 我想在我的浏览器中播放a.opus,它工作正常。我想读b.txt Google文档告诉我们,如果用户在浏览器中通过了身份验证,他就可以从bucket下载对象。 这将获得一个.wav并播放它。没问题。 现在阅读b.txt,我使用jquery ajax 但这给了我一个错误,控制台中打印了以下内容: CORS策略阻止从源url在https://stor
我正在尝试通过Laravel中的ajax推送一些数据。不幸的是,它不起作用。当我观察网络流量时,我发现: 我试图从JSGrid中获取数据,这很好。数据对象已填充。我查过了。为了进行测试,我刚刚在控制器中返回了一条短消息。但当我发送邮件请求时,它甚至没有被调用。。。 这是我的密码 Javascript: 路线: 控制器: 我期望从控制器方法中获取JSON文本作为responsemessage。但是我
所以我已经研究了好几个小时,尝试了不同的东西,研究了好几个小时都没有结果。调用是在提供user和pass之后获取JWT令牌。 当它到达服务器时,morgan看到有一个请求,但我得到的状态是400。这是我的路线 我很难理解护照是怎么回事。authenticate('localAuth')起作用,因此这是我的策略文件,以备需要 更新:我在检查fiddler上的请求时遇到了某种错误。 ~标题~:132
问题内容: 我试图通过ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我从数据库中获取数据的查询… 但是当我单击删除链接数据未删除并显示csrf_token不匹配… 问题答案: 您必须在ajax请求中添加 数据 。我希望这样会有用。