我试图使用node.js对restful API进行服务器端调用.使用JSONP(JS函数内的JSON容器)返回的错误似乎是节点http.get(options,callback)API的核心.节点或任何模块可以从JSONP返回返回JSON对象吗?
使用
vm执行回调
JavaScript code can be compiled and run immediately or compiled,saved,and run later
之前的回答建议去掉回调函数.不幸的是,这与许多jsonp响应不兼容,因为函数的内容通常是对象而不是纯JSON. JSON.parse()函数将死于以下内容:
callback({key:"value"});
虽然上面是一个有效的对象,但它不是有效的JSON.
以下将执行回调并返回对象:
jsonpSandBox = vm.createContext({callback: function(r){return r;}}); myObject = vm.runInContext(jsonpData,jsonpSandBox);