Javascript 加载ajax后如何从url中清除#?
目标 我正试图在模态中编辑。单击save后,我希望将更改保存到db,关闭modal并在同一页面上显示结果 结果 当前代码打开模式,将数据保存在数据库中,关闭模式,刷新页面,简而言之,它做了我需要的事情 **挑战 当结果刷新时,URL会在末尾添加一个#,这会干扰我的侧面板,使所有链接打开。这就是它看起来的样子** 下面是我的代码 控制器Javascript 加载ajax后如何从url中清除#?,javascript,ajax,laravel,Javascript,Ajax,Laravel,目标 我正试图在模态中编辑。单击save后,我希望将更改保存到db,关闭modal并在同一页面上显示结果 结果 当前代码打开模式,将数据保存在数据库中,关闭模式,刷新页面,简而言之,它做了我需要的事情 **挑战 当结果刷新时,URL会在末尾添加一个#,这会干扰我的侧面板,使所有链接打开。这就是它看起来的样子** 下面是我的代码 控制器 public function editTodo(request $request){ $todo = Todo::find ($request->i
public function editTodo(request $request){
$todo = Todo::find ($request->id);
$todo->item = $request->item;
$todo->description = $request->description;
$todo->save();
return response()->json($todo);
}
视图是一个索引页面,JavaScript位于页面底部,为了简单起见,我将代码分为3个部分(HTML表、HTML模式和JavaScript)
视图-HTML表
<div class="row">
<div class="table table-responsive">
<table class="table table-bordered" id="table">
<tr>
<th width="150px">No</th>
<th>item</th>
<th>description</th>
<th>Create At</th>
<th class="text-center" width="150px">
<a href="#" class="create-modal btn btn-success btn-sm">
<i class="glyphicon glyphicon-plus"></i>
</a>
</th>
</tr>
{{ csrf_field() }}
<?php $no=1; ?>
@foreach ($todo as $value)
<tr class="post{{$value->id}}">
<td>{{ $no++ }}</td>
<td>{{ $value->item}}</td>
<td>{{ $value->description }}</td>
<td>{{ $value->created_at }}</td>
<td>
<a href="#" class="show-modal btn btn-info btn-sm" data-id="{{$value->id}}" data-item="{{$value->item}}" data-description="{{$value->description}}">
<i class="fa fa-eye"></i>
</a>
<a href="#" class="edit-modal btn btn-warning btn-sm" data-id="{{$value->id}}" data-item="{{$value->item}}" data-description="{{$value->description}}">
<i class="glyphicon glyphicon-pencil"></i>
</a>
<a href="#" class="delete-modal btn btn-danger btn-sm" data-id="{{$value->id}}" data-item="{{$value->item}}" data-description="{{$value->description}}">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
</tr>
@endforeach
</table>
</div>
不
项目
描述
创建于
{{csrf_field()}}
@foreach($todo作为$value)
{{$no++}
{{$value->item}
{{$value->description}
{{$value->created_at}
@endforeach
视图-HTML刀片
<div id="myModal"class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
<form class="form-horizontal" role="modal">
<div class="form-group">
<label class="control-label col-sm-2"for="id">ID</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="fid" disabled>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2"for="item">item</label>
<div class="col-sm-10">
<input type="name" class="form-control" id="t">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2"for="description">description</label>
<div class="col-sm-10">
<textarea type="name" class="form-control" id="b"></textarea>
</div>
</div>
</form>
&时代;
身份证件
项目
描述
视图-JavaScript
$(document).on('click', '.edit-modal', function() {
$('#footer_action_button').text(" Update Post");
$('#footer_action_button').addClass('glyphicon-check');
$('#footer_action_button').removeClass('glyphicon-trash');
$('.actionBtn').addClass('btn-success');
$('.actionBtn').removeClass('btn-danger');
$('.actionBtn').addClass('edit');
$('.modal-title').text('Post Edit');
$('.deleteContent').hide();
$('.form-horizontal').show();
$('#fid').val($(this).data('id'));
$('#t').val($(this).data('item'));
$('#b').val($(this).data('description'));
$('#myModal').modal('show');
});
$('.modal-footer').on('click', '.edit', function() {
$.ajax({
type: 'POST',
url: '/editTodo',
data: {
'_token': $('input[name=_token]').val(),
'id': $("#fid").val(),
'item': $('#t').val(),
'description': $('#b').val()
},
success: function(data) {
$('.item' + data.id).replaceWith(" "+
"<tr class='post" + data.id + "'>"+
"<td>" + data.id + "</td>"+
"<td>" + data.item + "</td>"+
"<td>" + data.description + "</td>"+
"<td>" + data.created_at + "</td>"+
"<td><button class='show-modal btn btn-info btn-sm' data-id='" + data.id + "' data-item='" + data.item + "' data-description='" + data.description + "'><span class='fa fa-eye'></span></button> <button class='edit-modal btn btn-warning btn-sm' data-id='" + data.id + "' data-item='" + data.item + "' data-description='" + data.description + "'><span class='glyphicon glyphicon-pencil'></span></button> <button class='delete-modal btn btn-danger btn-sm' data-id='" + data.id + "' data-item='" + data.item + "' data-description='" + data.description + "'><span class='glyphicon glyphicon-trash'></span></button></td>"+
"</tr>");
location.reload();
}
});
});
$(文档)。在('单击','上。编辑模式',函数(){
$(“#页脚(操作)按钮”)。文本(“更新帖子”);
$(“#页脚_操作_按钮”).addClass('glyphicon-check');
$(“#页脚动作按钮”).removeClass('glyphicon-trash');
$('.actionBtn').addClass('btn-success');
$('.actionBtn').removeClass('btn-danger');
$('.actionBtn').addClass('edit');
$('.modal title').text('编辑后');
$('.deleteContent').hide();
$('.form horizontal').show();
$('#fid').val($(this.data('id'));
$('t').val($(this.data('item'));
$('#b').val($(this.data('description'));
$('myModal').modal('show');
});
$('.modal footer')。在('单击','.edit',函数()上{
$.ajax({
键入:“POST”,
url:“/editto”,
数据:{
“_-token”:$(“输入[name=_-token]”)。val(),
'id':$(“#fid”).val(),
'item':$('#t').val(),
‘description’:$(‘b’).val()
},
成功:功能(数据){
$('.item'+data.id)。替换为(“”)+
""+
“”+data.id+“”+
“”+data.item+“”+
“”+data.description+“”+
“”+data.created_在+“”+
" "+
"");
location.reload();
}
});
});
如果您不想导航到URL#
,请不要链接到它:
和:
- 链接到一个URL,在该URL中,相当于Ajax处理将完全由服务器端代码完成
- 用于在JS成功时阻止导航
或:
- 使用
而不是链接
如果您不想导航到URL
,请不要链接到它:
和:
- 链接到一个URL,在该URL中,相当于Ajax处理将完全由服务器端代码完成
- 用于在JS成功时阻止导航
或:
- 使用
而不是链接
我在页面中使用自动刷新元素时遇到了类似的问题。
这样解决它:
更改为:
<a href="#"
我在页面中使用自动刷新元素时遇到了类似的问题。
这样解决它:
更改为:
<a href="#"
<a href="javascript:void(0)"