无法使用ajax调用删除tr

时间:2017-03-18 02:45:24

标签: javascript ajax laravel laravel-5

我正在尝试删除一个表行,我的按钮工作,我的产品从数据库中删除,但是在刷新之前它不会在页面上删除而且我总是得到“它失败”,即使它工作了..我做错了什么?似乎没有被称为“成功”。

$(".deleteProduct").click(function(){
   var id = $(this).data("id");
   var token = $(this).data("token");
   $.ajax(
           {
               url: "/eventlineitem/"+id,
               type: 'DELETE',
               dataType: "JSON",
               data: {
                   "id": id,
                   "_method": 'DELETE',
                   "_token": token
               },
               success: function ()
               {
                   console.log("it Work");
               }
           });

   console.log("It failed");
 });

这是我的HTML

<tr class="item{{$item->id}}">
  <td class="align-center" scope="row">{{$item->product->id}}</td>
  <td class="align-center">{{$item->quantity}}</td>
  <td><a href="/products/{{$item->product->id}}">{{$item->product->name}}</a></td>
  <td class="align-center">{{$item->warehouse_id}}</td>
  <td class="align-center">{{$item->product->location}}</td>
  <td><div class="switch">
  <label><input type="checkbox"><span class="lever switch-col-green"></span></label>
  </div></td>
  <td><i class="material-icons deleteProduct" data-id="{{ $item->id }}" data-token="{{ csrf_token() }}">delete</i></td>
</tr>

4 个答案:

答案 0 :(得分:0)

我不知道你怎么预期html知道你删除了这行?

我认为你应该在Ajax调用之前创建一个变量

var target = $(this).parents("tr");

然后在ajax.success调用中

target.remove()

答案 1 :(得分:0)

像这样改变你的成功功能

success: function ()
               {
                   $(".item"+id).remove();
                   console.log("it Work");
               }

答案 2 :(得分:0)

declare @maxDate as date

select @maxDate = cast(max([Date]) as date)  
from [dbo].[sometable]
--print   @maxDate

declare @currDate as date
select @currDate = cast(getdate() as date) ;
--print  @currDate

if  @maxDate  <> @currDate  
BEGIN
    THROW 55000, 'Staging has not run for today!',1 ;
END

顺便说一句,如果在这里触发console.log,那么你就知道成功了。

答案 3 :(得分:0)

您可以尝试使用以下代码:

$(".deleteProduct").click(function(){
    var _selector = $(this);
    var id = _selector.data("id");
    var token = _selector.data("token");

    $.ajax({
        url: "/eventlineitem/"+id,
        type: 'DELETE',
        dataType: "JSON",
        data: {
            "id": id,
            "_method": 'DELETE',
            "_token": token
        },
        success: function (){
            console.log("it Work");
            _selector.parents('tr.item' + id).remove();
        }
    });
});

让我知道它是否适合你。