How to use Fetch to send network requests in React Native
This article mainly introduces the sample code of React Native using Fetch to send network requests. It has certain reference value. Interested friends can refer to it
We often use HTTP in our projects Request to access the network. HTTP (HTTPS) requests are usually divided into "GET", "PUT", "POST", and "DELETE". If not specified, the default is GET request.
In projects, we generally use two request methods: GET and POST. For submitting such requests in forms with parameters, we usually use the POST request method.
In order to make HTTP requests, we need to use the Fetch API provided by React Native for implementation. To get content from any address, simply pass the URL as a parameter to the fetch method (the word fetch itself means fetch
GET
If you want to request data through the GET method and convert it into JSON, you can do it through the following code:
fetch('https://facebook.github.io/react-native/movies.json') .then((response) => response.json()) .then((responseJson) => { return responseJson.movies; }) .catch((error) => { console.error(error); });
Convert the returned Response into a JSON Object through the above request, and then take out the movies field in the JSON Object .At the same time, if an Error occurs, such as network failure or access connection error, etc., it will be .catched. Under normal circumstances, we can get the following results:
{ "title": "The Basics - Networking", "description": "Your app fetched this from a remote endpoint!", "movies": [ { "title": "Star Wars", "releaseYear": "1977"}, { "title": "Back to the Future", "releaseYear": "1985"}, { "title": "The Matrix", "releaseYear": "1999"}, { "title": "Inception", "releaseYear": "2010"}, { "title": "Interstellar", "releaseYear": "2014"} ] }
POST (1)
Of course, the above is the most basic GET request. Fetch also has an optional second parameter, which can be used to customize some parameters of the HTTP request. You can specify the Headers parameters, or specify the use of the POST method, or Or submit data, etc.: Fetch API also supports customizing Headers, changing Method, adding Body, etc.
let url = "http://www.yousite.com/xxxx.ashx” let params = {"name":"admin","password":"admin"}; fetch(url, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify(params) })
The above constructs a basic POST request and adds its own Headers: Accept and Content-Type. Added Body.
POST (2)
let url = "http://www.yousite.com/xxxx.ashx”; let params = "username=admin&password=admin”; fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params, }).then((response) => { if (response.ok) { return response.json(); } }).then((json) => { console.log(json) }).catch((error) => { console.error(error); });
POST (3) Recommendation
Through the above two methods, We have another way to send a POST request, and of course this method is also recommended.
If your server cannot recognize the above POST data format, you can try the traditional form format. The example is as follows:
let REQUEST_URL = 'http://www.yousite.com/xxxx.ashx'; // `首先我们需要自己创建一个FormData,来存请求参数` let parameters = new FormData(); parameters.append("mt", "30013"); parameters.append("pg", "1"); parameters.append('ps', '20'); fetch(REQUEST_URL, { method: 'POST', body: parameters }).then( (result) => { if (result.ok) { console.log(result) result.json().then( (obj) => { console.log(obj) } ) } } ).catch((error) => { console.log(error) Alert.alert('Error') })
Another advantage of recommending this method is that you can directly pass the byte stream in FormData to implement the function of uploading pictures. The code is as follows:
uploadImage(){ let formData = new FormData(); let file = {uri: uri, type: 'multipart/form-data', name: 'a.jpg'}; formData.append("images",file); fetch(url,{ method:'POST', headers:{ 'Content-Type':'multipart/form-data', }, body:formData, }) .then((response) => response.text() ) .then((responseData)=>{ console.log('responseData',responseData); }) .catch((error)=>{console.error('error',error)}); }
Process the server's response data
The above example demonstrates how to initiate a request. In many cases, you also need to process the data returned by the server.
Network requests are naturally an asynchronous operation, and the Fetch method will return a Promise. This mode can simplify asynchronous style code. Regarding Promise, please refer to: Promise
Processing data returned by the server. We have implemented data processing in the second and third POST requests above. For specific code, refer to the implementation code above.
By default, iOS blocks all non-https requests. If the interface you request is the http protocol, you first need to add an exception to App Transport Security.
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
How to implement flux on knockoutjs
How to implement seamless scrolling components using vue
About the difficulty of JavaScript array operation (detailed tutorial)
How to implement the like function in the WeChat applet
The above is the detailed content of How to use Fetch to send network requests in React Native. For more information, please follow other related articles on the PHP Chinese website!

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

React front-end and back-end separation guide: How to achieve front-end and back-end decoupling and independent deployment, specific code examples are required In today's web development environment, front-end and back-end separation has become a trend. By separating front-end and back-end code, development work can be made more flexible, efficient, and facilitate team collaboration. This article will introduce how to use React to achieve front-end and back-end separation, thereby achieving the goals of decoupling and independent deployment. First, we need to understand what front-end and back-end separation is. In the traditional web development model, the front-end and back-end are coupled

How to build a reliable messaging application with React and RabbitMQ Introduction: Modern applications need to support reliable messaging to achieve features such as real-time updates and data synchronization. React is a popular JavaScript library for building user interfaces, while RabbitMQ is a reliable messaging middleware. This article will introduce how to combine React and RabbitMQ to build a reliable messaging application, and provide specific code examples. RabbitMQ overview:

ReactRouter User Guide: How to Implement Front-End Routing Control With the popularity of single-page applications, front-end routing has become an important part that cannot be ignored. As the most popular routing library in the React ecosystem, ReactRouter provides rich functions and easy-to-use APIs, making the implementation of front-end routing very simple and flexible. This article will introduce how to use ReactRouter and provide some specific code examples. To install ReactRouter first, we need

PHP, Vue and React: How to choose the most suitable front-end framework? With the continuous development of Internet technology, front-end frameworks play a vital role in Web development. PHP, Vue and React are three representative front-end frameworks, each with its own unique characteristics and advantages. When choosing which front-end framework to use, developers need to make an informed decision based on project needs, team skills, and personal preferences. This article will compare the characteristics and uses of the three front-end frameworks PHP, Vue and React.

Integration of Java framework and React framework: Steps: Set up the back-end Java framework. Create project structure. Configure build tools. Create React applications. Write REST API endpoints. Configure the communication mechanism. Practical case (SpringBoot+React): Java code: Define RESTfulAPI controller. React code: Get and display the data returned by the API.

How to use React to develop a responsive backend management system. With the rapid development of the Internet, more and more companies and organizations need an efficient, flexible, and easy-to-manage backend management system to handle daily operations. As one of the most popular JavaScript libraries currently, React provides a concise, efficient and maintainable way to build user interfaces. This article will introduce how to use React to develop a responsive backend management system and give specific code examples. Create a React project first

Vue.js is suitable for small and medium-sized projects and fast iterations, while React is suitable for large and complex applications. 1) Vue.js is easy to use and is suitable for situations where the team is insufficient or the project scale is small. 2) React has a richer ecosystem and is suitable for projects with high performance and complex functional needs.

React has closures such as event handling functions, useEffect and useCallback, higher-order components, etc. Detailed introduction: 1. Event handling function closure: In React, when we define an event handling function in a component, the function will form a closure and can access the status and properties within the component scope. In this way, the state and properties of the component can be used in the event processing function to implement interactive logic; 2. Closures in useEffect and useCallback, etc.
