Detailed explanation of jQuery AJAX timeout, jqueryajax

Source: Internet
Author: User

Detailed explanation of jQuery AJAX timeout, jqueryajax

First, let's analyze the cause of Timeout:

1. The network is not smooth.

2. Slow background running (the first time the server runs, it is easy to appear)

Timeout result: timeout in JQ sets the request timeout.

If the server response time exceeds the set time, an ERROR is returned)

Timeout solution:

1. The default timeout value is 0, indicating never timeout.

2. Try to increase the timeout value. Disadvantage: Slow data loading (seemingly. Haha ).

3. Write a function related to timeout processing in the ERROR callback function. For example, you can call the data retrieval function again when timeout occurs.

--------------------------------------------------------------------------------------------------------------

There is a success function in this ajax. If the result is successful, the returned result is also a function called error.

This function is triggered when the request fails.

I think you can handle it in error.

If you execute this function, you can call your second ajax method.

TimeOut settings and event processing for jQuery and ExtJS.

TimeOut settings and event processing for jQuery and ExtJS.

How can I customize the timeout time for ajax requests and handle corresponding timeout events?

For jQuery, you can directly set the timeout parameter for timeout and capture the second parameter in the error event. If it is a "timeout", it indicates that the timeout event is captured, which is very clear.

Example:

$. Ajax ({type: "POST", contentType: "application/json", url :".. /ws/MyService. asmx/test ", data: '{" email ":"' + email + '"}', timeout: 30000, // timeout: 30 seconds dataType: 'json ', error: function (XMLHttpRequest, textStatus, errorThrown) {// TODO: handle status, http status code, timeout 408 // Note: if an error occurs, error message (second parameter) in addition to null, it may also be // "timeout", "error", "notmodified", or "parsererror ".}, Success: function (result) {// TODO: check result }});

In addition, the first parameter XMLHttpRequest returned by the error event has some useful information:

XMLHttpRequest. readyState: Status Code

0-(not initialized) The send () method has not been called

1-(load) The send () method has been called and a request is being sent.

2-(Loading completed) The send () method is executed completely and all response content has been received

3-(interaction) parse the response content

4-(complete) The response content has been parsed and can be called on the client

XMLHttpRequest. status attribute: some error codes

HTTP

1xx-Information prompt

These status codes indicate temporary responses. Before receiving a regular response, the client should be prepared to receive one or more 1xx responses.

100-continue.

101-switch protocol.

2xx-success

This type of Status Code indicates that the server successfully accepts client requests.

200-OK. The client request is successful.

201-created.

202-accepted.

203-non-authoritative information.

204-NO content.

205-Reset content.

206-part of content.

3xx-redirection

The client browser must perform more operations to implement the request. For example, the browser may have to request different pages on the server or repeat the request through the proxy server.

301-the object has been permanently removed, I .e., permanent redirection.

302-the object has been temporarily moved.

304-not modified.

307-temporary redirection.

4xx-client Error

The client seems to be faulty when an error occurs. For example, the client does not provide valid authentication information for a page that does not exist in a request. 400-Incorrect request.

401-Access denied. IIS defines many different 401 errors, which indicate more specific error causes. These specific error codes are displayed in the browser but not in the IIS log:

401.1-Logon Failed.

401.2-login failed due to server configuration.

401.3-the ACL is not authorized due to resource restrictions.

401.4-filter authorization failed.

401.5-An error occurred while authorizing the ISAPI/CGI application.

401.7-the access is rejected by the URL Authorization Policy on the Web server. This error code is dedicated to IIS6.0.

403-Access prohibited: IIS defines many different 403 errors, which indicate more specific error causes:

403.1-the execution access is forbidden.

403.2-Read access is forbidden.

403.3-write access is forbidden.

403.4-require SSL.

403.5-SSL128 is required.

403.6-the IP address is rejected.

403.7-client certificate required.

403.8-site access is denied.

403.9-too many users.

403.10-the configuration is invalid.

403.11-change the password.

403.12-access to the ing table is denied.

403.13-the client certificate is revoked.

403.14-reject the directory list.

403.15-the access permission of the client is exceeded.

403.16-the client certificate is untrusted or invalid.

403.17-the client certificate has expired or has not yet taken effect.

403.18-the requested URL cannot be executed in the current application pool. This error code is dedicated to IIS6.0.

403.19-CGI cannot be executed for clients in this application pool. This error code is dedicated to IIS6.0.

403.20-logon to Passport failed. This error code is dedicated to IIS6.0.

404-not found.

404.0-(none)-No file or directory found.

404.1-unable to access the Web site on the requested port.

404.2-the Web service extended locking policy blocks this request.

404.3-the MIME ing policy blocks this request.

405-HTTP predicates used to access this page are not allowed (methods are not allowed)

406-the client browser does not accept the MIME type of the requested page.

407-proxy authentication is required.

412-precondition failed.

413-The Request Entity is too large.

414-the request URI is too long.

415-unsupported media type.

416-the requested range cannot be met.

417-execution failed.

423-locking error.

5xx-Server Error

The server cannot complete the request because of an error.

500-internal server error.

500.12-the application is busy restarting on the Web server.

500.13-the Web server is too busy.

500.15-Direct Request to Global. asa is not allowed.

The 500.16-UNC authorization credential is incorrect. This error code is dedicated to IIS6.0.

500.18-the URL-authorized storage cannot be opened. This error code is dedicated to IIS6.0.

500.100-Internal ASP error.

501-the header value specifies the unimplemented configuration.

502-the Web server received an invalid response when used as a gateway or proxy server.

502.1-CGI application timeout.

502.2-CGI application error. Application.

503-the service is unavailable. This error code is dedicated to IIS6.0.

504-gateway timeout.

The 505-HTTP version is not supported.

FTP

1xx-Affirmative preliminary reply

These status codes indicate that an operation has started successfully, but the client wants to receive another response before continuing to operate the new command.

110 restart mark the reply.

120 the service is ready and starts in nnn minutes.

125 the data connection is enabled and transmission is starting.

150 the file is in normal state and you are ready to open the data connection.

2xx-a positive response

An operation has been completed successfully. The client can execute new commands. 200 command OK.

202 if no command is executed, there are too many commands on the site.

211 system status or system help reply.

212 directory status.

213 File status.

214 help message.

215NAME: system type. NAME indicates the formal system NAME listed in AssignedNumbers.

220 the service is ready to execute new user requests.

221 close the control connection. If appropriate, log out.

225 the data connection is opened and there is no transmission in progress.

226 close the data connection. The requested file operation has been successful (for example, transferring a file or dropping a file ).

227 enter the passive mode (h1, h2, h3, h4, p1, p2 ).

230 The user has logged on and continues.

250 the requested file operation is correct and has been completed.

257 "PATHNAME" has been created ".

3xx-Affirmative intermediate reply

The command is successful, but the server needs more information from the client to process the request. 331 the user name is correct and the password is required.

332 You need to log on to the account.

350 the requested file operation is waiting for further information.

4xx-completion of transient Negation

The command fails, but the error is temporary. If the client retries the command, it may be executed successfully. 421 the service is unavailable and the control connection is being closed. If the Service determines that it must be disabled, this response will be sent to any command.

425 data connection cannot be enabled.

426 Connectionclosed; transferaborted.

450 file operations not requested. The file is unavailable (for example, the file is busy ).

451 request operation exception termination: processing local error.

452 the requested operation is not performed. Insufficient system storage space.

5xx-permanent completion reply

The command fails. The error is permanent. If the client retries the command, the same error will occur again. 500 syntax error. The command cannot be identified. This may include errors such as too long command lines.

501 syntax error in the parameter.

502 the command is not executed.

503 error command sequence.

504 the command for this parameter is not executed.

530 not logged on.

532 accounts are required to store files.

550 the requested operation is not performed. File is unavailable (for example, the file is not found and no access permission is available ).

551 exceptional request termination: Unknown page type.

552 the requested file operation ended abnormally: exceeds Storage Allocation (for the current directory or dataset ).

553 the requested operation is not performed. The file name is not allowed.

Common FTP status code and Its Causes

150-FTP uses two ports: 21 for sending commands and 20 for sending data. Status Code 150 indicates that the server is preparing to open a new connection on Port 20 and send some data.

226-the command opens a data connection on Port 20 to perform operations, such as file transfer. This operation is successfully completed and the data connection is closed.

230-the status code is displayed after the client sends the correct password. It indicates that the user has successfully logged on.

331-the status code is displayed after the client sends the user name. This status code is displayed no matter whether the user name is a valid account in the system.

426-the command opens the data connection to perform the operation, but the operation has been canceled and the data connection has been closed.

530-the status code indicates that the user cannot log on because the combination of the user name and password is invalid. If you log on with a user account, you may enter the wrong user name or password, or you may choose to allow anonymous access only. If you log on with an anonymous account, the IIS configuration may reject anonymous access.

550-the command is not executed because the specified file is unavailable. For example, the file to GET does not exist, or you try to PUT the file to a directory without the write permission.

The default time-out period of ExtJS is 30 s. If the time-out period is exceeded, the ajax request fails. http status code 408.

To set the ExtJS timeout, you must use the Ext. data. Connection object and capture the requestexception event. For example:

Varconn = newExt. data. connection ({url :".. /ws/MyService. asmx/test ", timeout: 60000, // custom timeout. The value is 60 seconds (30 seconds by default) autoAbort: false, disableCaching: true, method: "GET"}); varproxy = newExt. data. httpProxy (conn); proxy. getConnection (). on ("requestcomplete", function (sender, response, options) {// success, response. status = 200, response. statusText = 'OK'}); proxy. getConnection (). on ("requestexception", function (sender, response, options) {// exception, capture esponse. status (http status code) and response. statusText}); varstore = newExt. data. store ({proxy: proxy, reader: myReader, // you need to define another readerbaseParams: {myargument: 'myargumentvalue'}, // change your parameter name and value to remoteSort: false}); store. load ();

The above is a detailed explanation of jQuery AJAX timeout, which I will introduce to you. I hope it will be helpful to you. If you have any questions, please leave a message for me, the editor will reply to you in a timely manner. Thank you very much for your support for the help House website!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.