Sails.js - Get async data from an EJS file

南笙酒味 提交于 2019-12-13 04:42:14

问题


Are there a good way to get async data from an EJS file?
Sails.js only have async methods to get data from a database.

I have a collection of Pages with their associated content Values. In some cases I want to get a specific Value from another Page (e.g.: in a related page module, a navigation module...). And I need to do that server side, to keep the front-end part SEO friendly.

The easier way should be to retrieve all the Pages and Values inside the controller, and then expose a function to my EJS to get the specific data I need. But I really don't want to retrieve each time all the data from a collection.

I'm working on a CMS so I would avoid creating a new controller/view for each specific cases that I will have.

EDIT:
It seems there is no good way to do that, so I reworked my controller to make it a bit more intelligent. It solve my problem for now.


回答1:


Assuming I understand you correctly....

data is sent to the view by passing an object into the view funciton

return res.view({data: "important data"});

I'm guessing that you want to call a method for some specific data mid-render. Because having all the data ready on the res.view() call is too slow. As far as I know this is not possible. That would almost certainly be "blocking" code.

Best option I could recommend is to grab specific data using ajax on the client after page load. One of the best features of using sails :)



来源:https://stackoverflow.com/questions/22823796/sails-js-get-async-data-from-an-ejs-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!