我正在使用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);
}
答案 0 :(得分:2)
我解决了,结果是我使用load()
加载此页面,但我应该使用window.location.href = "updateform";
加载此页面
虽然非常基本的错误。
和解决方案可能是我的应用程序特定。
答案 1 :(得分:1)
也许您可以尝试使用.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);
一种方法将确保每个事件类型的每个元素最多执行一次处理程序。然后,在成功之后,您将需要重新绑定事件处理程序。
答案 2 :(得分:0)
我认为您需要第二次阻止点击事件,您可以通过jquery禁用或隐藏按钮。
sudo R CMD javareconf