当前位置: 首页 > 后端技术 > Node.js

sails框架使用fetch.js进行通信

时间:2023-04-03 15:07:47 Node.js

JavaScript通过XMLHttpRequest(XHR)执行异步请求,这已经存在了很长时间。虽然它很有用,但它并不是最好的API。它不符合设计中职责分离的原则,将输入、输出和跟踪事件的状态混合在一个对象中。而且,基于事件的模型与JavaScript中最近流行的Promise和基于生成器的异步编程模型不太匹配(事件模型在处理异步方面有点过时——译者注)。新的FetchAPI旨在修复上述缺陷。它在JS中引入了与HTTP协议中相同的原语(即Fetch——译者注)。具体来说,它引入了一个实用函数fetch(),用于简洁地捕获从网络检索资源的意图。[https://www.w3ctech.com/topic...(https://www.w3ctech.com/topic...启动fetch.js目前只支持异步nodejssails框架通过nodemonapp.js已经启动,并在每次修改js文件时使用nodemon命令重启,方便我们调试。[nodemon]由于更改而重新启动...[nodemon]启动`nodeapp.js`前端代码注意:上面指定的body是formdata的时候,一定要注意方法为POST,否则会报错:Uncaught(inpromise)TypeError:Failedtoexecute'fetch'on'Window':RequestwithGET/HEADmethodcannothavebody。后台接受处理参数sails的req对象文档如Sails所述,Sails建立在Express之上,并使用Node的HTTP服务器约定。因此,您可以在任何可访问的地方(即在您的控制器、策略和自定义响应中)访问req对象上的所有Node和Express方法和属性。地址http://sailsjs.com/documentation/reference/request-req表示sails框架是基于express框架的,上面这段话可以使用node和express框架req对象的所有方法和属性,我们在sails中没有找到详细的req解释一下,刚看到一个req方法列表,就去express找了找。上面的expressapi是express的描述,里面有对请求的属性和方法的详细描述,所以我们找到了两个方法可以获取到前端传过来的值//attributereq.body;//方法req.param('name');后端代码直接返回获取的内容。ajax_page:function(req,res){console.info(req.body);console.info(req.param('name'));var记录=req.body;返回res.json(记录);前端获取打开浏览器的控制台可以看到结果。Object{name:"segmentfault"}相关信息Using_Fetch#自定义请求参数GlobalFetch/fetchUsing_FormData_Objects