express框架的send方法
①send方法用的还挺多的,因此需要明确其作用;
②原型是:
res.send([body|status], [body])
即既可以直接发送内容,也可以第一个参数状态,第二个参数内容。
如果直接发送内容的话,状态会被自动补全;
③发送的内容:
示例:
res.send(newBuffer('whoop')); res.send({ some: 'json' }); res.send('some html'); res.send(404, 'Sorry, we cannot find that!'); res.send(500, { error: 'something blew up' }); res.send(200);
【1】第一种是发送二进制(binary)内容,当其参数为Buffer(缓冲)时,Content-Type 会被设置为 "application/octet-stream" ,而这个表示其文件后缀(文件类型)是某些类型。
而wiki上是这么说的
application/octet-stream(任意的二进制数据)
也就是说这是一个任意的二进制数据,具体如何解释要看实际情况(比如后缀名),比如他可能是一个img,也可能是一个video。
【2】假如发送字符串,那么将被解释为html文件;
也就是说,Content-Type 默认设置为"text/html":
例如,发送了一个post,然后我res.send("aaa"),那么网页将跳转到一个只有文本aaa的页面;
【3】假如参数为Array(数组),或者Ojbect(对象),那么将返回一个JSON;