Express api res.jsonp 返回双重回调
Posted
技术标签:
【中文标题】Express api res.jsonp 返回双重回调【英文标题】:Express api res.jsonp returns double callback 【发布时间】:2013-10-18 07:51:38 【问题描述】:我有一个 Express 服务器在 8080 端口运行这条路由
app.get('/api', function (req, res)
res.jsonp('user API is running');
);
我打开一个浏览器窗口来
http://ec2-54-226-27-72.compute-1.amazonaws.com:8080/api?callback=hello
浏览器中的响应是
hello && hello("user API is running");
为什么有 2 个你好?这是来自 Express 的正确 JSONP 响应吗?它会被客户端正确处理吗?
【问题讨论】:
【参考方案1】:是的,这是正确的格式。第一个 hello 的目的是在尝试调用之前确保客户端上存在函数 hello(如果该函数不存在,则会发生错误)。
在速递书here的预览章节中有一些关于此的信息。我前几天刚读过。
【讨论】:
谢谢。抱歉坚持,但 JSON_CALLBACK 是一个特殊的回调名称,将数据返回到客户端上的标准成功或错误回调?这对我有用。 从GET请求参数callback=json_callback?您可以将 json_callback 重命名为您喜欢的任何名称——当函数返回时,它将在客户端上调用该函数,就像您对 hello 回调所做的那样。恐怕我对 JSONP 的了解并不多。以上是关于Express api res.jsonp 返回双重回调的主要内容,如果未能解决你的问题,请参考以下文章
在 Express JS 和 NodeJS 中为 jsonp 回调函数添加参数
基于用户类型的有条件返回值的结构化节点 API(express、mongodb、mongoose)
带有 JWT 的 Express API 返回“未经授权:算法无效错误”
当我将 event.preventDefault() 与 fetch api、express 和 node.js 一起使用时,为啥 req.body 返回 null? [复制]