请求方式
前五种请求方式比较常用,下面来做一些补充:
get
请求指定页面的信息,并返回实体主体。
(1)
get请求将请求参数包含在url中
,例如:http://localhost:8001/index?username=小文&password=123456
利用
request.query.参数名
来获取get方式请求的参数
- ?之前的内容是请求文件的地址
- username和password是请求参数
- &是参数之间的分隔符
(2)GET请求是可以缓存的,我们可以从浏览器历史记录中查找到GET请求,还可以把它收藏到书签中;
(3)且GET请求有长度限制,
仅用于请求数据(不修改);
(4)只能通过url进行编码;
(5)
不安全,不能用来传递敏感信息。
post
用于将数据发送到服务器以
创建或更新资源。
(1)post请求
将请求参数保存在request body中
,利用
request.body.参数名
来获取post方式请求的参数
(2)POST请求永远不会被缓存,且对数据长度没有限制;
(3)我们无法从浏览器历史记录中查找到POST请求;
(4)支持多种编码格式;
(5)
更安全,适合传递敏感信息。
delete
用来删除指定的资源,它会删除目标资源的所有当前内容。(
用于删除
)
put
用于将数据发送到服务器以创建或更新资源,它可以用上传的内容替换目标资源中的所有当前内容。(
用于更新
)
head
与GET方法相同,但没有响应体,
仅传输状态行和标题部分
。这对于恢复相应头部编写的元数据非常有用,而无需传输整个内容。
发起请求
客户端可以通过哪些方式向服务器发起请求呢?
方法
(1)
表单form的提交。
通过
<a>
标签向服务器发送的请求都是get请求。
<form action="http://localhost:3000/login" method="POST">
通过表单提交的数据是动态的。
注意:
- 此请求若是post请求,那么可以在action后面加入请求参数
<form action="http://localhost:3000/login?userName=张三" method="POST">
- 此请求若是get请求不能在action后面加入请求参数 (若加入参数服务器接受不到参数)
(2)
超链接。
<a href="http://localhost:8080/save?username=zhangsan&password=123">用户点击这个超链接发送的请求是get请求</a>
(3)document.location=’url’或document.location.href=‘url’
(4)window.location=’url’或window.location.href=‘url’
(5)window.open(“url”) (会重新打开一个网页)
(6)直接在浏览器地址栏上输入URL,然后回车。(这个也可以手动输入,提交数据也可以成为动态的。)
通过浏览器地址栏向服务器发送的请求都是get请求。
(7)
通过Ajax向服务器发起请求
(jQuery对Ajax的封装)
- $.post(url,[data],[callback],[type]) ———>只能进行post请求
- $.get(url,[data],[callback],[type]) ———->只能进行get请求
url:发送请求地址。
data:待发送 Key/value 参数。
callback:发送成功时回调函数。
type:返回内容格式,xml, html, script, json, text…
例如:
$.post('http://localhost:3000/index',data,function(result){'成功后的处理代码'},'json')
例子
<input type="button" value="新浪" onclick="link();"/>
function link(){
window.location.href = "http://www.jd.com";
//window.open('http://www.126.com')
}