gpt4 book ai didi

javascript - 风 sails js : Setting response method based on request parameter

转载 作者:行者123 更新时间:2023-12-02 17:01:18 25 4
gpt4 key购买 nike

所以我一直在使用 Sailsjs 开发一个 SPA 项目。问题是:

加载第一页时,我在 Controller 中使用 res.viewres.render。但是,对于后续请求,我不想使用 res.viewres.render,而是想使用 res.json .

现在我使用的方法是:

返回 req.param('json') ? res.json(myObj) : res.view('layout', myObj);

这是可行的,但我正在寻找一种更通用和抽象的方法,在该方法中我的 Controller 本身会知道(基于req.param('json'))是否使用res.viewres.json,无需我明确告知。

有什么帮助吗?

最佳答案

这就是 res.ok() 的用途。

在下面的 Controller 操作中,res.ok 将使用 data 作为 View 局部变量显示 myAction.ejs,或者响应data 作为 JSON,具体取决于请求的传入方式(即通过 AJAX、套接字或常规浏览器请求):

module.exports = {

myAction: function(req, res) {

var data = {someKey: "someVal"};

return res.ok(data);

}

}

在内部,ok 响应使用 req.wantsJSON 来确定要做什么;它会检查 header ,查找 xhr 对象,并且通常会尽力猜测您的意图。 req.wantsJSON 适用于所有请求(req.isSocket 也是如此),因此您可以根据需要自行使用它们。

关于javascript - 风 sails js : Setting response method based on request parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25682116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com