form表单用法get/post区别
时间: 2023-10-08 09:11:09 浏览: 147
GET和POST是HTTP协议中常用的两种请求方法,用于在客户端和服务器之间传输数据。它们在使用上有以下区别:
1. GET方法:
- GET方法将请求的参数附加在URL的末尾,以键值对的形式传递参数。例如:http://www.example.com?param1=value1¶m2=value2。
- GET方法的请求参数暴露在URL中,可以被他人看到,不适合传输敏感信息。
- GET方法对参数长度有限制,不适合传输大量数据。
- GET方法可以被缓存,可以被书签保存,可以被历史记录保存。
2. POST方法:
- POST方法将请求的参数放在请求体中传递,参数不会暴露在URL中。
- POST方法适合传输敏感信息,如密码等。
- POST方法对参数长度没有限制,适合传输大量数据。
- POST方法不会被浏览器缓存、保存书签或历史记录。
根据具体需求,我们可以选择使用GET或POST方法来提交表单数据。一般来说,当我们需要获取数据时,使用GET方法;当我们需要提交、修改或删除数据时,使用POST方法。
相关问题
使用Javascript/form提交GET/POST数据提交方式
在JavaScript中,你可以使用`XMLHttpRequest`对象或者现代浏览器提供的`fetch()`函数来通过GET或POST方法提交表单数据。以下是两种常见的方法:
1. **使用XMLHttpRequest (GET)**:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('GET', 'your-url?param1=value1¶m2=value2');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log(xhr.responseText);
}
};
```
在这个例子中,GET请求将包含查询字符串的形式发送。
2. **使用XMLHttpRequest (POST)**:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('POST', 'your-api-url');
xhr.setRequestHeader('Content-Type', 'application/json'); // 或者 'application/x-www-form-urlencoded' 如果数据是键值对形式
// JSON 数据
var data = { key1: 'value1', key2: 'value2' };
xhr.send(JSON.stringify(data));
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log(xhr.responseText);
}
};
```
对于POST方法,你需要设置正确的Content-Type,并且通常会发送JSON格式的数据,而不是直接在URL中显示。
3. **使用fetch (GET or POST)**:
```javascript
fetch('your-url', {
method: 'GET', // 或者 'POST',
headers: {
'Content-Type': 'application/json' // 或者 'application/x-www-form-urlencoded'
},
body: JSON.stringify({ your_data_here }) // 只有在POST时需要
})
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.error(error));
```
fetch API的语法更简洁,但是不是所有旧版浏览器都支持。
Form表单method=post和get的区别
表单中的 method 属性指定了提交表单时所使用的 HTTP 方法,它有两个值可以选择:GET 和 POST。
GET 和 POST 方法的主要区别在于数据提交的方式和传递数据的大小限制:
- GET 方法将表单数据附加在 URL 后面,以查询字符串的形式提交数据,数据量较小,一般不超过 2048 个字符,且数据会被保存在浏览器的历史记录中,不适合提交敏感数据。
- POST 方法将表单数据作为 HTTP 请求的一部分提交,数据量较大,没有大小限制,且数据不会被保存在浏览器的历史记录中,适合提交敏感数据。
因此,当需要提交敏感数据或数据量较大时,应该使用 POST 方法;而当数据较小或只需要获取数据时,可以使用 GET 方法。
阅读全文