This article mainly talks about the basic grammatical structure of ajax, with examples so that everyone can learn more clearly. Let’s take a look at this article now
Code template:
$.ajax({ type: "POST", url: "/login", contentType: 'application/x-www-form-urlencoded;charset=utf-8', data: {username:$("#username").val(), password:$("#password").val()}, dataType: "json", success: function(data){ console.log(data); }, error:function(e){ console.log(e); } })
options
Type: Object
Optional. AJAX request settings. All options are optional.
async
Type: Boolean
Default value: true. By default, all requests are asynchronous. If you need to send synchronous requests, set this option to false.
Note that synchronous requests will lock the browser, and other user operations must wait for the request to be completed before they can be executed.
beforeSend(XHR)
Type: Function
Function that can modify the XMLHttpRequest object before sending the request, such as adding self Define HTTP headers.
The XMLHttpRequest object is the only parameter.
This is an Ajax event. If false is returned, this ajax request can be canceled.
cache
Type: Boolean
Default value: true, the default is false when dataType is script and jsonp. Set to false to not cache this page.
New features in jQuery 1.2.
complete(XHR, TS)
Type: Function
Callback function after the request is completed (after the request is successful or failed are called).
Parameters: XMLHttpRequest object and a string describing the request type.
This is an Ajax event.
contentType
Type: String
Default value: "application/x-www-form-urlencoded". Content encoding type when sending information to the server.
The default value is suitable for most situations. If you explicitly pass a content-type to $.ajax() then it will definitely be sent to the server (even if there is no data to send).
context
Type: Object
This object is used to set the context of Ajax-related callback functions. In other words, let this in the callback function point to this object (if this parameter is not set, then this will point to the options parameter passed when calling this AJAX request). For example, specifying a DOM element as the context parameter will set the context of the success callback function to this DOM element.
Like this:
$.ajax({ url: "test.html", context: document.body, success: function(){ $(this).addClass("done"); }});
(If you want to see more, go to the PHP Chinese website AJAX Development Manual column to learn)
data
Type: String
The data sent to the server. Will be automatically converted to request string format. Appended to the URL in GET requests. See the processData option description to disable this automatic conversion. Must be in Key/Value format. If it is an array, jQuery will automatically assign the same name to different values. For example, {foo:["bar1", "bar2"]} is converted to '&foo=bar1&foo=bar2'.
dataFilter
Type: Function
Function for preprocessing the original data returned by Ajax. Provide two parameters, data and type: data is the original data returned by Ajax, and type is the dataType parameter provided when calling jQuery.ajax. The value returned by the function will be further processed by jQuery.
dataType
Type: String
The data type expected to be returned by the server. If not specified, jQuery will automatically make intelligent judgments based on the MIME information of the HTTP package. For example, the XML MIME type is recognized as XML. In 1.4, JSON will generate a JavaScript object, and script will execute the script. The data returned by the server will then be parsed based on this value and passed to the callback function. Available values:
"xml": Returns an XML document that can be processed with jQuery.
"html": Returns plain text HTML information; the included script tag will be executed when inserted into the dom.
"script": Returns plain text JavaScript code. Results are not automatically cached. Unless the "cache" parameter is set. Note: When making remote requests (not under the same domain), all POST requests will be converted into GET requests. (Because the DOM script tag will be used to load)
"json": Returns JSON data.
"jsonp": JSONP format. When calling a function using JSONP form, such as "myurl?callback=?" jQuery will automatically replace ? with the correct function name to execute the callback function.
"text": Returns the plain text string
error
type :Function
Default value: Automatic judgment (xml or html). This function is called when the request fails.
has the following three parameters: XMLHttpRequest object, error message, (optional) captured exception object.
If an error occurs, the error message (the second parameter) may be "timeout", "error", "notmodified" and "parsererror" in addition to null.
This is an Ajax event.
global
Type: Boolean
Whether to trigger the global AJAX event. Default value: true. Setting to false will not trigger global AJAX events such as ajaxStart or ajaxStop which can be used to control different Ajax events.
ifModified
Type: Boolean
Get new data only when the server data changes. Default value: false. Use HTTP packet Last-Modified header information to determine. As of jQuery 1.4, it also checks the server-specified 'etag' to make sure the data has not been modified.
jsonp
Type: String
Override the name of the callback function in a jsonp request. This value is used to replace the "callback" part of the URL parameter in a GET or POST request such as {jsonp:'onJsonPLoad'} which will cause "onJsonPLoad=?" to be passed to the server.
jsonpCallback
Type: String
Specify a callback function name for the jsonp request. This value will be used instead of the random function name automatically generated by jQuery. This is mainly used to allow jQuery to generate unique function names so that it is easier to manage requests and provide callback functions and error handling. You can also specify this callback function name when you want the browser to cache GET requests.
password
Type: String
Password used to respond to HTTP access authentication requests
processData
Type: Boolean
Default value: true. By default, the data passed in through the data option, if it is an object (technically speaking, as long as it is not a string), will be processed and converted into a query string to match the default content type "application/x-www-form-urlencoded" ". Set to false if you want to send DOM tree information or other information that you don't want to convert.
scriptCharset
Type: String
Only when the dataType is "jsonp" or "script" when requested, and type Only "GET" will be used to force modification of charset. Usually only used when the local and remote content encodings are different.
success
Type: Function
The callback function after the request is successful.
Parameters: Data returned by the server and processed according to the dataType parameter; a string describing the status.
This is an Ajax event.
traditional
Type: Boolean
If you want to serialize data in the traditional way, then set is true. Please refer to the jQuery.param method under the Tools category.
timeout
Type: Number
Set the request timeout (milliseconds). This setting overrides the global setting.
type
Type: String
Default value: "GET"). Request method ("POST" or "GET"), default is "GET". Note: Other HTTP request methods such as PUT and DELETE can also be used, but are only supported by some browsers.
url
Type: String
Default value: Current page address. The address to send the request to.
username
Type: String
Username used to respond to HTTP access authentication requests.
xhr
Type: Function
Needs to return an XMLHttpRequest object. The default is ActiveXObject under IE and XMLHttpRequest otherwise. Used to override or provide an enhanced XMLHttpRequest object. This parameter was not available before jQuery 1.3.
If you want to process the data obtained by $.ajax(), you need to use the callback function: beforeSend, error, dataFilter, success, complete.
Call before sending the request, and pass in an XMLHttpRequest as a parameter.
Called when a request error occurs. Passing in the XMLHttpRequest object, a string describing the error type, and an exception object (if any)
Called after the request is successful. Pass in the returned data and the value of the "dataType" parameter. And must return new data (possibly processed) passed to the success callback function.
Called after request. Pass in the returned data and a string containing the success code.
This function is called when the request is completed, regardless of success or failure. Pass in the XMLHttpRequest object, and a string containing a success or error code.
$.ajax() function relies on the information provided by the server to process the returned data. If the server reports that the returned data is XML, the returned results can be iterated over using normal XML methods or jQuery selectors. If other types are seen, such as HTML, the data is treated as text.
You can also specify other different data processing methods through the dataType option. In addition to simple XML, you can also specify html, json, jsonp, script or text.
Among them, the data returned by text and xml types will not be processed. The data simply passes the responseText or responseHTML attribute of the XMLHttpRequest to the success callback function.
Note: We must ensure that the MIME type reported by the web server matches the dataType we selected. For example, in the case of XML, the server must declare text/xml or application/xml to obtain consistent results.
If specified as html type, any embedded JavaScript will be executed before the HTML is returned as a string. Similarly, if the script type is specified, the server-side generated JavaScript will be executed first, and then the script will be returned as text data.
If specified as json type, the obtained data will be parsed as a JavaScript object, and the constructed object will be returned as the result. To achieve this, it first attempts to use JSON.parse(). If the browser does not support it, a function is used to build it.
JSON data is a kind of structured data that can be easily parsed through JavaScript. If the obtained data file is stored on a remote server (with different domain names, that is, cross-domain data acquisition), you need to use the jsonp type. Using this type creates a query string parameter callback=? which is appended to the requested URL. The server should add the callback function name before the JSON data in order to complete a valid JSONP request. If you want to specify the parameter name of the callback function instead of the default callback, you can set the jsonp parameter of $.ajax().
Note: JSONP is an extension of the JSON format. It requires some server-side code to detect and handle query string parameters.
If the script or jsonp type is specified, then when data is received from the server, the