0

I want to show "No result Found " message when response is empty.In some case when back end session expired at that time it will return login page but i need json data so how can handle this html data .

    $( "#customers_name" )
  .bind( "keydown", function( event ) {
    if ( event.keyCode === $.ui.keyCode.TAB &&
        $( this ).autocomplete( "instance" ).menu.active ) {
      event.preventDefault();
    }
  })
  .autocomplete({
    source: function( request, response ) {
      $.getJSON( "ajax_functions.php", {
        term: extractLast( request.term ),
        console: $('select[name="console"] option:selected').val(),
        call: 'getCustomersEmailList',
        nmsAdmin: '<?php echo tep_session_id();?>'
      }, response );
    },
    change: function (event, ui) {
        if(!ui.item){
            $("#customers_name").val("");
        }
    },
    focus: function() {

      return false;
    },
    select: function( event, ui ) { 
      var customer_id = ui.item.customer_id;
      var customer_email = ui.item.customerEmail;
      console.log(ui);
      $('#customer_id').val(customer_id);
      $('#customer_email').val(customer_email);
      var terms = split( this.value );

      terms.pop();

      terms.push( ui.item.value );

      terms.push( "" );
      this.value = terms.join( "" );
      return false;
    }
});
codever
  • 35
  • 7
  • You mean this ? http://stackoverflow.com/a/4719848/961526 – Raphaël Althaus Jul 28 '16 at 08:01
  • @RaphaëlAlthaus: yeah this done 1 Question but when response return html data at that time what should i do... – codever Jul 28 '16 at 08:16
  • you could manage this more globally : see for example http://stackoverflow.com/questions/12703942/handling-session-time-out-when-ajax-call-to-c-sharp-mvc-controller-not-working or http://stackoverflow.com/questions/5238854/handling-session-timeout-in-ajax-calls – Raphaël Althaus Jul 28 '16 at 08:23

1 Answers1

3

I have edited your code and working fine for me. Can you please check below code.

$( "#customers_name" )
  .bind( "keydown", function( event ) {
    if ( event.keyCode === $.ui.keyCode.TAB &&
        $( this ).autocomplete( "instance" ).menu.active ) {
      event.preventDefault();
    }
  })
  .autocomplete({
    source: function( request, response ) {
      $.getJSON( "ajax_functions.php", {
        term: extractLast( request.term ),
        console: $('select[name="console"] option:selected').val(),
        call: 'getCustomersEmailList',
        nmsAdmin: '<?php echo tep_session_id();?>',
        dataType:'json',
      },response ).fail(function(jqXHR, status, error){ document.location.href='login.php'; });
    },
    response: function(event, ui) {
        console.log(ui.content);
        if (ui.content.length === 0) {
            alert("No results found");
        }
    },
    change: function (event, ui) {
        if(!ui.item){
            $("#customers_name").val("");
        }
    },
    focus: function() {

      return false;
    },
    select: function( event, ui ) { 
      var customer_id = ui.item.customer_id;
      var customer_email = ui.item.customerEmail;
      console.log(ui);
      $('#customer_id').val(customer_id);
      $('#customer_email').val(customer_email);
      var terms = split( this.value );

      terms.pop();

      terms.push( ui.item.value );

      terms.push( "" );
      this.value = terms.join( "" );
      return false;
    },
    error : function() { document.location.href='login.php';}
});