var express = require("express");var router = express.Router();router.get("/getinfo", function(req, res, next) { var _callback = req.query.callback; var _data = { email: "example@163.com", name: "jaxu" }; if (_callback){ res.type("text/javascript"); res.send(_callback + "(" + JSON.stringify(_data) + ")"); } else{ res.json(_data); }});module.exports = router;代码中必须规定从服务器返回数据的类型,代码res.type("text/javascript")被加在返回的数据之前用于告诉浏览器这是一段JavaScript代码。<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>jsonp test</title><script src="/bower_components/jquery/dist/jquery.js"></script></head><body><input type="button" value="click" id="btn"><script type="text/javascript">$(function(){$("#btn").on("click", function(){$.get("http://anothersite/api/getinfo", function(d){console.log(d);}, "jsonp");});});</script></body></html>运行代码,点击按钮,在浏览器的console面板总我们可以看到从远程服务器返回的json对象。
以上这篇Node.js返回JSONP详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。