Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载ajax后如何从url中清除#?_Javascript_Ajax_Laravel - Fatal编程技术网

Javascript 加载ajax后如何从url中清除#?

Javascript 加载ajax后如何从url中清除#?,javascript,ajax,laravel,Javascript,Ajax,Laravel,目标 我正试图在模态中编辑。单击save后,我希望将更改保存到db,关闭modal并在同一页面上显示结果 结果 当前代码打开模式,将数据保存在数据库中,关闭模式,刷新页面,简而言之,它做了我需要的事情 **挑战 当结果刷新时,URL会在末尾添加一个#,这会干扰我的侧面板,使所有链接打开。这就是它看起来的样子** 下面是我的代码 控制器 public function editTodo(request $request){ $todo = Todo::find ($request->i

目标 我正试图在模态中编辑。单击save后,我希望将更改保存到db,关闭modal并在同一页面上显示结果

结果 当前代码打开模式,将数据保存在数据库中,关闭模式,刷新页面,简而言之,它做了我需要的事情

**挑战 当结果刷新时,URL会在末尾添加一个#,这会干扰我的侧面板,使所有链接打开。这就是它看起来的样子**

下面是我的代码

控制器

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">&times;</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)"