假设我们有两个服务器,myServer.com和crossDomainServer.com,我们都控制这两个服务器。
假设我们希望myServer.com的客户端从crossDomainServer.com提取一些数据,首先该客户端需要向crossDomainServer.com发出JSONP请求:
// client-side JS from myServer.com// script tag gets around cross-domain security issuesvar script = document.createElement('script');script.src = 'http://crossDomainServer.com/getJSONPResponse'; document.body.appendChild(script); // triggers a GET request在跨域服务器上,我们需要处理以下GET请求:
// in the express app for crossDomainServer.comapp.get('/getJSONPResponse', function(req, res) { res.writeHead(200, {'Content-Type': 'application/javascript'}); res.end("__parseJSonPResponse(" + JSON.stringify('some data') + ");"); });然后在客户端JS中,我们需要一个全局函数来解析JSONP响应:
// gets called when cross-domain server respondsfunction __parseJSonPResponse(data) { // now you have access to your data }在包括IE 6在内的各种浏览器上都能很好地运行。



