防止在ajax上附加相同的数据

时间:2017-06-30 12:25:35

标签: php jquery ajax laravel laravel-5.4

我的Ajax电话

$('#submitForm').click(function(){
var name = $('#agentOrCustomer').val();
var city = $('#city').val();
var enquiryType = $('#enquiryType').val();
$.ajax({
    type: 'post',
    url: '/search',
    data: {
        '_token': $('input[name=_token]').val(),
        'name': $('input[name=name]').val(),
        'age'           : name,
        'city'          : city,
        'enquiryType'   : enquiryType
    },
    success: function(data) {
         $.each(data, function(index) {
            $('#table').append("<tr><td>"+data[index].id+"</td><td>"+data[index].first_name+"</td></tr>");

         });
    },
});

我目前正在根据他们的详细信息搜索用户。当我点击搜索按钮时,数据将被附加,并且将再次添加相同的数据。如何防止一次又一次地获取相同的数据?

5 个答案:

答案 0 :(得分:2)

您可以放弃现有数据。使用.empty() / .html('')删除表格内容。

 $('#table').empty();
 $.each(data, function(index) {
    $('#table').append("<tr><td>"+data[index].id+"</td><td>"+data[index].first_name+"</td></tr>");
 });

创建一个字符串,然后使用.html()

 var str = "";   
 $.each(data, function(index) {
    str += "<tr><td>"+data[index].id+"</td><td>"+data[index].first_name+"</td></tr>";
 });
 $('#table').html(str);

答案 1 :(得分:0)

你可以清空表的html:

$('#submitForm').click(function(){
 $('#table').html(""); // like this

var name = $('#agentOrCustomer').val();
var city = $('#city').val();
var enquiryType = $('#enquiryType').val();
$.ajax({
    type: 'post',
    url: '/search',
    data: {
        '_token': $('input[name=_token]').val(),
        'name': $('input[name=name]').val(),
        'age'           : name,
        'city'          : city,
        'enquiryType'   : enquiryType
    },
    success: function(data) {
         $.each(data, function(index) {
            $('#table').append("<tr><td>"+data[index].id+"</td><td>"+data[index].first_name+"</td></tr>");

         });
    },
});

答案 2 :(得分:0)

以下是分配ID的方法。在代码中,检查ID是否已经存在,如果是,则不执行任何操作,否则添加:

$.each(data, function(index) {
  if ($("#table tr#" + data[index].id).length) {
    // already exists... 
  } else {
    $('#table').append("<tr id=" + data[index].id + "><td>" + data[index].id + "</td><td>" + data[index].first_name + "</td></tr>");
  }
});

答案 3 :(得分:0)

您可以在表格行中添加一个ID,然后检查它是否存在:

<ListBox ItemsSource="{Binding DataContext.FilteredTrackList, RelativeSource={RelativeSource AncestorType=telerik:RadGridView}}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0 5 0 10">

希望这有帮助!

答案 4 :(得分:0)

使用Satpal代码

$('#table').empty();
$.each(data, function(index) {
    $('#table').append("<tr><td>"+data[index].id+"</td><td>"+data[index].first_name+"</td></tr>");
});