首先解释一下什么是 payload,payload 在这里却是可以理解为有效载重,但是这只是字面意思。对于程序员来说,有效载重究竟是个什么玩意儿,又是一个新的问题(调用栈又多了一层……)。
要解释什么是有效载重,就得说到货运行业。比如有一位客户需要支付一笔费用委托货车司机运送一车石油,石油本身的重量、车子的重量、司机的重量等等,这些都属于载重 (load)。但是对于该客户来说,他关心的只有石油的重量,所以石油的重量是有效载重 (pay-load,也就是付费的重量)。
所以抽象一下,payload 可以理解为一系列信息中最为关键的信息。
回到代码中,举一个最简单的例子,一个 ajax 请求返回一个 json 格式的对象
{
status: 200,
haserror: false,
data: {
userid: 1,
name: 'undefined'
}
}
这里的 data 就是 payload,也就是关键信息。而 status、haserror 等信息是 load,虽然也是信息,但相对没有那么重要。
说到这里感觉 load 和 payload 的关系有点像信息与元信息的关系,感兴趣的同学可以看看知乎上一篇讲 meta 的文章,很有启发性。