jQuery Basic
jQuery Ajax Events
- jQuery ajaxComplete
- jQuery ajaxError
- jQuery ajaxSend
- jQuery ajaxStart
- jQuery ajaxStop
- jQuery ajaxSuccess
jQuery Ajax Methods
- jQuery .ajaxComplete()
- jQuery .ajaxError()
- jQuery .ajaxSend()
- jQuery .ajaxStart()
- jQuery .ajaxStop()
- jQuery .ajaxSuccess()
- jQuery jQuery.ajax()
- jQuery jQuery.ajaxPrefilter()
- jQuery jQuery.ajaxSetup()
- jQuery jQuery.ajaxTransport()
- jQuery .get()
- jQuery jQuery.getJSON()
- jQuery jQuery.param()
- jQuery jQuery.post()
- jQuery .load()
- jQuery .serialize()
- jQuery .serializeArray()
jQuery Keyboard Events
jQuery Keyboard Methods
jQuery Form Events
jQuery Form Methods
- jQuery .blur()
- jQuery .change()
- jQuery .focus()
- jQuery .focusin()
- jQuery .focusout()
- jQuery .select()
- jQuery .submit()
jQuery Mouse Event
- jQuery click
- jQuery contextmenu
- jQuery dblclick
- jQuery mousedown
- jQuery mouseenter
- jQuery mouseleave
- jQuery mousemove
- jQuery mouseout
- jQuery mouseover
- jQuery mouseup
jQuery Mouse Methods
- jQuery .click()
- jQuery .contextmenu()
- jQuery .dblclick()
- jQuery .hover()
- jQuery .mousedown()
- jQuery .mouseenter()
- jQuery .mouseleave()
- jQuery .mousemove()
- jQuery .mouseout()
- jQuery .mouseover()
- jQuery .mouseup()
- jQuery .toggle()
jQuery Event Object
- jQuery .bind()
- jQuery currentTarget
- jQuery data
- jQuery .delegate()
- jQuery delegateTarget
- jQuery .die()
- jQuery error
- jQuery .live()
- jQuery .off()
- jQuery .on()
- jQuery .one()
- jQuery isDefaultPrevented()
- jQuery isImmediatePropagationStopped()
- jQuery isPropagationStopped()
- jQuery metakey
- jQuery namespace
- jQuery pageX
- jQuery pageY
- jQuery preventDefault()
- jQuery relatedTarget
- jQuery resize
- jQuery result
- jQuery scroll()
- jQuery stopImmediatePropagation()
- jQuery stopPropagation()
- jQuery target
- jQuery timeStamp
- jQuery .trigger()
- jQuery .triggerHandler()
- jQuery type
- jQuery .unbind()
- jQuery .undelegate()
- jQuery which
jQuery Fading
jQuery Document Loading
- jQuery jQuery.error()
- jQuery .getScript()
- jQuery jQuery.holdReady()
- jQuery jQuery.ready
- jQuery load
- jQuery .ready()
- jQuery unload
- jQuery .unload()
jQuery Traversing
- jQuery .add()
- jQuery .addBack()
- jQuery .andSelf()
- jQuery .children()
- jQuery .closest()
- jQuery .contents()
- jQuery .each()
- jQuery .end()
- jQuery .eq()
- jQuery .even()
- jQuery .filter()
- jQuery .find()
- jQuery .first()
- jQuery .has()
- jQuery .is()
- jQuery .last()
- jQuery .map()
- jQuery .next()
- jQuery .nextAll()
- jQuery .nextUntil()
- jQuery .not()
- jQuery .odd()
- jQuery .offsetParent()
- jQuery .parent()
- jQuery .parents()
- jQuery .parentsUntil()
- jQuery .prev()
- jQuery .prevAll()
- jQuery .prevUntil()
- jQuery .siblings()
- jQuery .slice()
jQuery Utilities
- jQuery .clearQueue()
- jQuery .dequeue()
- jQuery jQuery.contains()
- jQuery jQuery.data()
- jQuery jQuery.dequeue()
- jQuery jQuery.each()
- jQuery jQuery.extend()
- jQuery jQuery.fn.extend()
- jQuery jQuery.globalEval()
- jQuery jQuery.grep()
- jQuery jQuery.inArray()
- jQuery jQuery.isArray()
- jQuery jQuery.isEmptyObject()
- jQuery jQuery.isFunction()
- jQuery jQuery.isNumeric()
- jQuery jQuery.isPlainObject()
- jQuery jQuery.isWindow()
- jQuery jQuery.isXMLDoc()
- jQuery jQuery.makeArray()
- jQuery jQuery.map()
- jQuery jQuery.merge()
- jQuery jQuery.noop()
- jQuery jQuery.now()
- jQuery jQuery.parseHTML()
- jQuery jQuery.parseJSON()
- jQuery jQuery.parseXML()
- jQuery jQuery.proxy()
- jQuery jQuery.queue()
- jQuery jQuery.removeData()
- jQuery jQuery.support
- jQuery jQuery.trim()
- jQuery jQuery.type()
- jQuery jQuery.unique()
- jQuery jQuery.uniqueSort()
- jQuery .queue()
- jQuery .uniqueSort()
jQuery Property
jQuery HTML
- jQuery .after()
- jQuery .append()
- jQuery .appendTo()
- jQuery .attr()
- jQuery .before()
- jQuery .clone()
- jQuery .data()
- jQuery .detach()
- jQuery .empty()
- jQuery .hasData()
- jQuery .html()
- jQuery .htmlPrefilter()
- jQuery .index()
- jQuery .insertAfter()
- jQuery .insertBefore()
- jQuery .prepend()
- jQuery .prependTo()
- jQuery .prop()
- jQuery .pushStack()
- jQuery .remove()
- jQuery .removeAttr()
- jQuery .removeData()
- jQuery .removeProp()
- jQuery .replaceAll()
- jQuery .replaceWith()
- jQuery .size()
- jQuery .text()
- jQuery .toArray()
- jQuery .unwrap()
- jQuery .val()
- jQuery .wrap()
- jQuery .wrapAll()
- jQuery .wrapInner()
jQuery CSS
- jQuery .addClass()
- jQuery .animate()
- jQuery .css()
- jQuery .delay()
- jQuery .finish()
- jQuery .hasClass()
- jQuery .height()
- jQuery .hide()
- jQuery .innerHeight()
- jQuery .innerWidth()
- jQuery jQuery.cssHooks
- jQuery jQuery.cssNumber
- jQuery jQuery.escapeSelector()
- jQuery .offset()
- jQuery .outerHeight()
- jQuery .outerWidth()
- jQuery .position()
- jQuery .removeClass()
- jQuery .resize()
- jQuery .scroll()
- jQuery .scrollLeft()
- jQuery .scrollTop()
- jQuery .show()
- jQuery .slideDown()
- jQuery .slideToggle()
- jQuery .slideUp()
- jQuery .stop()
- jQuery .sub()
- jQuery .toggleClass()
- jQuery .width()
jQuery Miscellaneous
jQuery .ajaxSend() Method
Photo Credit to CodeToFun
🙋 Introduction
jQuery offers a robust set of tools for handling AJAX requests, making asynchronous data retrieval and manipulation seamless. One such tool is the ajaxSend()
method, an event handler that executes before an AJAX request is sent. This method allows developers to perform actions or modify the settings of the request dynamically.
In this guide, we'll explore the usage of the ajaxSend()
method with clear examples to help you understand its potential.
🧠 Understanding .ajaxSend() Method
The ajaxSend()
method in jQuery is triggered just before an AJAX request is sent. It provides an opportunity to run custom code, modify request parameters, or perform any pre-request setup. This method is particularly useful for adding custom headers, displaying loading indicators, or logging request details.
💡 Syntax
The syntax for the .ajaxSend()
method is straightforward:
$(document).ajaxSend(function(event, jqXHR, ajaxOptions) {
// Your code here
});
Parameters:
- event: The jQuery event object.
- jqXHR: The jQuery-wrapped XMLHttpRequest object.
- ajaxOptions: The options used in the AJAX request.
📝 Example
Adding Custom Headers:
Suppose you need to add a custom header to all AJAX requests. You can use the
ajaxSend()
method to achieve this:example.jsCopied$(document).ajaxSend(function(event, jqXHR, ajaxOptions) { jqXHR.setRequestHeader("Authorization", "Bearer your-auth-token"); });
This will add an Authorization header with the specified token to every AJAX request.
Displaying a Loading Indicator:
You can show a loading indicator to improve user experience while an AJAX request is in progress:
index.htmlCopied<div id="loadingIndicator" style="display:none;">Loading...</div>
example.jsCopied$(document).ajaxSend(function(event, jqXHR, ajaxOptions) { $("#loadingIndicator").show(); });
This will display the loading indicator whenever an AJAX request is sent.
Logging Request Details:
For debugging purposes, you might want to log the details of each AJAX request:
example.jsCopied$(document).ajaxSend(function(event, jqXHR, ajaxOptions) { console.log("Request URL: " + ajaxOptions.url); console.log("Request Type: " + ajaxOptions.type); });
This will log the URL and request type of each AJAX request to the console.
Hiding the Loading Indicator on Completion:
To hide the loading indicator once the AJAX request is complete, use the ajaxComplete() method:
example.jsCopied$(document).ajaxComplete(function(event, jqXHR, ajaxOptions) { $("#loadingIndicator").hide(); });
Combining
ajaxSend()
and ajaxComplete() ensures the loading indicator is displayed during the request and hidden afterward.Conditionally Modifying Requests:
You can conditionally modify AJAX requests based on specific criteria:
example.jsCopied$(document).ajaxSend(function(event, jqXHR, ajaxOptions) { if (ajaxOptions.url.includes("secure")) { jqXHR.setRequestHeader("Authorization", "Bearer secure-token"); } });
This adds an Authorization header only to requests with URLs containing secure.
🎉 Conclusion
The jQuery ajaxSend()
method is a versatile tool for executing code before an AJAX request is sent. Whether you need to add custom headers, display loading indicators, log request details, or modify requests conditionally, ajaxSend()
provides a convenient and efficient solution.
By mastering this method, you can enhance the functionality and user experience of your web applications.
👨💻 Join our Community:
Author
For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.
Buy me a coffee to make codetofun.com free for everyone.
Buy me a Coffee
If you have any doubts regarding this article (jQuery .ajaxSend() Method), please comment here. I will help you immediately.