在 Express JS 和 NodeJS 中为 jsonp 回调函数添加参数
Posted
技术标签:
【中文标题】在 Express JS 和 NodeJS 中为 jsonp 回调函数添加参数【英文标题】:add paramters to jsonp callback function in ExpressJS and NodeJS 【发布时间】:2016-04-03 03:37:47 【问题描述】:我正在使用$.ajax
向 ExpressJS 处理程序发出 jsonp 请求,该处理程序返回:
res.jsonp(status: "200", message: "Finished")
这很好用。
我希望使用这些参数调用 JQuery ajax 成功函数中的回调函数:
callback(status, message)
但如您所见,我可以返回来自 ExpressJS 的 JSON 数据
附:在JQuery成功函数中检查状态是正确的方式,即:
$.ajax(
///.....
success: function(resp)
if(resp && resp.status === '200')
// success
else // error
)
【问题讨论】:
【参考方案1】:来自 Express 文档:
http://expressjs.com/en/api.html#res.jsonp
最好使用res.status(200).jsonp( message : "Finished" )
。
默认情况下,JSONP 回调名称只是 callback
。用jsonp callback name
设置覆盖它。
成功回调原型为Function( Anything data, String textStatus, jqXHR jqXHR )
。
因此,要检查响应状态,您可以执行以下操作:
$.ajax(
// ...
success : function(data, status, xhr)
if (xhr.status === 200)
// ...
);
【讨论】:
以上是关于在 Express JS 和 NodeJS 中为 jsonp 回调函数添加参数的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MongoDB 中为 NodeJS Express 应用程序存储站点配置?
在 express.js 中为 node.js 使用 jsonp
在 nodeJs 和 express 项目的其他文件 .js 中调用 require 是不可能的