[英]AJAX request firing twice while success is called once
我正在使用laravel 5.4,我的Ajax功能每次调用两次,因为我创建了两个用户但是我想为每次点击创建一个用户
实际上它包括另一个页面,该页面没有打开
$(document).ready(function(){
或任何功能
$(document).on('click','#addproject',function(){
但它们包含脚本标记,但如果我不包含它们,那么只有在Ajax调用时才调用Ajax:
$(document).on('click','#addproject',function(){
$.ajax({
type:'get',
url:"{!! URL::to('addProject') !!}",
data:{},
success:function(data){
console.log('success');
console.log(data);
console.log(data.length);
$("#newproject").fadeIn();
},
error:function(){
},
});
});
路线:
Route::get('/addProject','HomeController@addProject');
控制器:
public function addProject(Request $request){
$project = new Project;
$data = array(
);
$project->create($data);
}
我解决了它,结果是我使用load()
加载这个页面,但我应该使用window.location.href = "updateform";
加载这个页面window.location.href = "updateform";
虽然非常基本的错误。 和解决方案可能是我的应用程序特定
也许你可以尝试使用.one()方法。
<script type="text/javascript">
var handler = function(e){
$.ajax({
type:'get',
url:"{!! URL::to('addProject') !!}",
data:{},
success: function(data){
console.log('success');
console.log(data);
console.log(data.length);
$("#newproject").fadeIn();
$('#addproject').one('click', handler);
},
error: function(){}
});
e.stopImmediatePropagation();
return false;
}
$('#addproject').one('click', handler);
一种方法将确保每个事件类型的每个元素最多执行一次处理程序。 然后,在成功之后,您将需要重新绑定事件处理程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.