Advertisement
Danoweb

Ajax HTML DOM Response Convience Script

Jan 27th, 2017
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // JavaScript Document
  2.  
  3. function load_ajax(script_url, container_id, additional_vars, form_id, return_mode, sync_type)
  4. {
  5.     /*************************************************
  6.     This function perfoms all ajax calls through the system using the arguments provided.
  7.     *************************************************/
  8.    
  9.     var url_vars="";
  10.     var form_data = {ajax_process: true};
  11.     var submitted_form = "";
  12.  
  13.     //DEFAULT OUR ARGUMENT VALUES
  14.     if(return_mode == undefined)
  15.     {
  16.             return_mode = "replace";
  17.     }//END IF RETURN_MODE == UNDEFINED 
  18.    
  19.     if(sync_type == undefined)
  20.     {
  21.             sync_type = true; //DEFAULT TO ASYNCRONYOUS TRANSFER
  22.     }//END IF RETURN_MODE == UNDEFINED 
  23.  
  24.    
  25.     //For each element in the form, append the name and it's value to the call string var.
  26.     if(form_id != '')
  27.     {
  28.         //GET THE FORM
  29.         submitted_form = document.getElementById(form_id); 
  30.        
  31.         //LOOP THROUGH EACH ELEMENT ADDING IT TO THE POST.
  32.         for(i=0; i< submitted_form.elements.length; i++)
  33.         {                      
  34.             form_data[submitted_form.elements[i].id] = submitted_form.elements[i].value;
  35.            
  36.             //alert('Element: '+submitted_form.elements[i].id+' '+submitted_form.elements[i].value); //USED FOR DEBUGGING
  37.         }//END FOR I < DOCUMENT.(FORMNAME).ELEMENTS.LENGTH
  38.    
  39.     }//END IF FORM_ID != UNDEFINED
  40.        
  41.     //ADD ADDITIONAL VARS IF WE HAVE ANY
  42.     if( additional_vars )
  43.     {
  44.         script_url = script_url + "?add_vars=Y" + additional_vars;
  45.     }//END IF !ADDITIONAL_VARS
  46.    
  47.     //JQUERY AJAX PROCESS
  48.        
  49.     //MAKE THE ACTUAL AJAX CALL
  50.     $.ajax({
  51.         url: script_url,
  52.         cache: false,
  53.         async: sync_type,
  54.         type: "POST",
  55.         data: form_data,
  56.         dataType: "html",
  57.         beforeSend: function(jqXHR, settings)
  58.         {
  59.             //BUILD LOADING HTML
  60.             loading_html = '<div class="ajax-loading">&nbsp;</div>';
  61.            
  62.             //SHOW LOADING
  63.             if(return_mode == 'append')
  64.             {
  65.                     $('#'+container_id).addClass('ajax-loading');
  66.             } else {
  67.                     $('#'+container_id).html(loading_html);
  68.             }//END IF RETURN_MODE == append
  69.        
  70.         },//END FUNCTION BEFORESEND
  71.         success: function(html_returned, success_code, jqXHR_object)
  72.         {
  73.             if(return_mode == 'append')
  74.             {
  75.                
  76.                
  77.                 //APPEND HTML RESPONSE
  78.                 $('#'+container_id).append(html_returned);
  79.             } else {
  80.                 //REPLACE CONTAINER CONTENTS WITH HTML RESPONSE
  81.                 $('#'+container_id).html(html_returned);
  82.             }//END IF RETURN_MODE == append
  83.            
  84.            
  85.         },//END FUNCTION SUCCESS
  86.         error: function(jqXHR, exception)
  87.         {
  88.                
  89.             //SHOW ERRORS
  90.             if (jqXHR.status === 0)
  91.             {
  92.                 //alert('Not connect.\n Verify Network.');
  93.             } else if (jqXHR.status == 404)
  94.             {
  95.                 //alert('Requested page not found. [404]');
  96.             } else if (jqXHR.status == 500)
  97.             {
  98.                 //alert('Internal Server Error [500].');
  99.             } else if (exception === 'parsererror')
  100.             {
  101.                 //alert('Requested JSON parse failed.');
  102.             } else if (exception === 'timeout')
  103.             {
  104.                 //alert('Time out error.');
  105.             } else if (exception === 'abort')
  106.             {
  107.                 //alert('Ajax request aborted.');
  108.             } else {
  109.                 //alert('Uncaught Error.\n' + jqXHR.responseText);
  110.             }//END IF JQXHR.STATUS === 0
  111.         },//END FUNCTION ERROR
  112.         complete: function(jqXHR, textStatus)
  113.         {
  114.             //REMOVE LOADING CLASS
  115.             $('#'+container_id).removeClass('ajax-loading');
  116.            
  117.         }
  118.     });    
  119. }//END FUNCTION LOAD_AJAX
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement