This time I will bring you the ajax request method in the axios client. What are the precautions for using the ajax request method in the axios client. The following is a practical case, let's take a look.
Preface
AJAX, Asynchronous JavaScript and XML (Asynchronous JavaScript and XML), a web development technology solution for creating interactive web applications.
Asynchronous JavaScript:
Use the functions of [JavaScript language] and related [browser-provided class libraries] to send requests to the server. After the server processes the request, [automatically execute a JavaScript callback function].
PS: The entire process of the above request and response is carried out [secretly], without any perception on the page.
Not much to say below, let’s take a look at the text of this article.
The http client of this article is axios
Tell me a story first
APIs like axios that support Promise are already very friendly. After the request is successful, we can get the data returned by the backend from then's Response. For example:
axios.get('/user/12345') .then((response) => { console.log(response); }) .catch((error) => { console.log(error); });
The data is in response.data
, which means that we need to do one more process for each request to get the actual data.
Then, in actual scenarios, the backend will basically not give us the data directly. It will do a layer of encapsulation. For example, the structure of response.data
will be like this:
{ "date": "2017-12-14 15:21:38", "success": true, "obj": { ... }, "version": "V1.0" }
Therefore, response.data.obj
is the data we really want, so we need to do one more process for each request =_=
Suddenly one day, the backend said, "response.data
is no longer an object, it has been changed to JSONstring, please do some processing~".
And yes, every interface, every one, we need to change to JSON.parse(response.data).obj
, half a life!
If the backend says, "I changed the object back again, please undo the previous processing~". . .
If the backend says, "Not all are objects, some are JSON strings. For details, please see the updated interface document~". . .
If we had never met. . .
The Us Later
ES6 Proxy is used to modify the default behavior of certain operations, which is equivalent to making changes at the language level, so it is a kind of "meta programming", that is, to the programming language to program.
Proxy can be understood as setting up a layer of "interception" before the target object. External access to the object must first pass through this layer of interception. Therefore, it provides a mechanism to filter and rewrite external access.
To relieve the above troubles, we need to uniformly encapsulate all interface requests. In this way, even if the backend changes again and again, we only need to modify one place or even no modification at all!
const apiService = new Proxy(axios, { get (target, propKey, receiver) { return function (...args) { return target[propKey](...args) .then((res) => { const resData = typeof res.data === 'string' ? JSON.parse(res.data) : res.data; return typeof resData.obj === 'string' ? JSON.parse(resData.obj) : resData.obj; }) .catch((err) => { throw err; }); } } });
The corresponding interface request part is changed to:
apiService.get('/user/12345') .then((data) => { console.log(data); }) .catch((error) => { console.log(error); });
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
How to realize the linkage of two zTree in a single page
How to call the WeChat sharing function in nodejs
The above is the detailed content of Ajax request method in axios client. For more information, please follow other related articles on the PHP Chinese website!

The future trends of Python and JavaScript include: 1. Python will consolidate its position in the fields of scientific computing and AI, 2. JavaScript will promote the development of web technology, 3. Cross-platform development will become a hot topic, and 4. Performance optimization will be the focus. Both will continue to expand application scenarios in their respective fields and make more breakthroughs in performance.

Both Python and JavaScript's choices in development environments are important. 1) Python's development environment includes PyCharm, JupyterNotebook and Anaconda, which are suitable for data science and rapid prototyping. 2) The development environment of JavaScript includes Node.js, VSCode and Webpack, which are suitable for front-end and back-end development. Choosing the right tools according to project needs can improve development efficiency and project success rate.

Yes, the engine core of JavaScript is written in C. 1) The C language provides efficient performance and underlying control, which is suitable for the development of JavaScript engine. 2) Taking the V8 engine as an example, its core is written in C, combining the efficiency and object-oriented characteristics of C. 3) The working principle of the JavaScript engine includes parsing, compiling and execution, and the C language plays a key role in these processes.

JavaScript is at the heart of modern websites because it enhances the interactivity and dynamicity of web pages. 1) It allows to change content without refreshing the page, 2) manipulate web pages through DOMAPI, 3) support complex interactive effects such as animation and drag-and-drop, 4) optimize performance and best practices to improve user experience.

C and JavaScript achieve interoperability through WebAssembly. 1) C code is compiled into WebAssembly module and introduced into JavaScript environment to enhance computing power. 2) In game development, C handles physics engines and graphics rendering, and JavaScript is responsible for game logic and user interface.

JavaScript is widely used in websites, mobile applications, desktop applications and server-side programming. 1) In website development, JavaScript operates DOM together with HTML and CSS to achieve dynamic effects and supports frameworks such as jQuery and React. 2) Through ReactNative and Ionic, JavaScript is used to develop cross-platform mobile applications. 3) The Electron framework enables JavaScript to build desktop applications. 4) Node.js allows JavaScript to run on the server side and supports high concurrent requests.

Python is more suitable for data science and automation, while JavaScript is more suitable for front-end and full-stack development. 1. Python performs well in data science and machine learning, using libraries such as NumPy and Pandas for data processing and modeling. 2. Python is concise and efficient in automation and scripting. 3. JavaScript is indispensable in front-end development and is used to build dynamic web pages and single-page applications. 4. JavaScript plays a role in back-end development through Node.js and supports full-stack development.

C and C play a vital role in the JavaScript engine, mainly used to implement interpreters and JIT compilers. 1) C is used to parse JavaScript source code and generate an abstract syntax tree. 2) C is responsible for generating and executing bytecode. 3) C implements the JIT compiler, optimizes and compiles hot-spot code at runtime, and significantly improves the execution efficiency of JavaScript.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

WebStorm Mac version
Useful JavaScript development tools
