在ExpressJS和NodeJS中为jsonp回调函数添加参数

时间:2015-12-29 09:10:46

标签: jquery ajax node.js express jsonp

我正在使用$.ajax来获取对返回的ExpressJS处理程序的jsonp请求:

res.jsonp({status: "200", message: "Finished"})

这很有效。

我希望使用这些参数调用JQuery ajax的成功函数中的回调函数:

callback(status, message)

但是你可以看到我可以从ExpressJS

返回JSON数据

P.S。正在检查JQuery成功函数中的状态是正确的方式,即:

$.ajax({
   ///.....
   success: function(resp){
      if(resp && resp.status === '200'){
         // success
      }
      else {// error
      }
   }
})

1 个答案:

答案 0 :(得分:0)

  1. 从Express文档中: http://expressjs.com/en/api.html#res.jsonp 最好使用res.status(200).jsonp({ message : "Finished" })。 默认情况下,JSONP回调名称只是callback。使用jsonp callback name设置覆盖此内容。

  2. 成功回调原型是Function( Anything data, String textStatus, jqXHR jqXHR )。 因此,要检查响应状态,您可以执行以下操作:

    $.ajax({
        // ...
        success : function(data, status, xhr) {
            if (xhr.status === 200) {
                // ...
            }
        }
    });