📅  最后修改于: 2023-12-03 15:18:37.581000             🧑  作者: Mango
POST
and GET
Requests in Web DevelopmentWhen it comes to web development, two common ways to send data between the client (usually a browser) and the server are through POST
and GET
requests. Both methods involve sending data as key-value pairs, but they are used in different situations.
GET
RequestsA GET
request is used to retrieve data from the server. For example, when you enter a URL in your browser and hit enter, your browser sends a GET
request to the server for that page's HTML, CSS, and JavaScript files. When you submit a search query on Google, the search term is sent as a parameter in a GET
request.
In a GET
request, the data being sent is appended to the URL in the form of a query string. Each key-value pair is separated by an ampersand (&
) and the value is preceded by an equals sign (=
). For example:
https://example.com/search?q=hello&location=world
This URL sends a GET
request to example.com
with two parameters: q
with a value of hello
and location
with a value of world
.
POST
RequestsA POST
request is used to submit data to the server. For example, when you fill out a form on a website and click submit, the data you entered is sent as a POST
request to the server. POST
requests are also used in AJAX calls, where JavaScript code sends data asynchronously to the server without reloading the entire page.
In a POST
request, the data being sent is included in the body of the request rather than in the URL. Each key-value pair is still separated by an ampersand (&
) and the value is still preceded by an equals sign (=
). However, the entire string is sent as the request body, rather than being appended to the URL. For example:
POST https://example.com/submitForm
Content-Type: application/x-www-form-urlencoded
username=bob&password=12345
This POST
request submits the username and password data to example.com/submitForm
as key-value pairs in the request body.
Here is an example of using POST
and GET
requests in JavaScript using the fetch
API:
// GET Request
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
// POST Request
fetch('https://api.example.com/submitData', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
'username': 'bob',
'password': '12345'
})
})
.then(response => console.log(response))
.catch(error => console.error(error));
In this example, the fetch
function is used to send a GET
request to retrieve data from the data
endpoint and a POST
request to submit data to the submitData
endpoint. The Content-Type
header is set to application/x-www-form-urlencoded
to indicate that the request body contains URL-encoded form data.