nodejs中aja跨域和jsonp跨域
AJAX跨域获取数据
1.前端代码:
Document异步获取数据 var log=function (obj) { console.log(obj); } var get=document.getElementById('get'); get.addEventListener('click',function () { $.getJSON('http://192.168.0.250:9000/bannerUrl?callback=?',function (data) { log('result data:'+data.name); }); },false);
2.nodejs代码
var express = require('express');var router = express.Router();var urllib=require('url');//获取banner urlrouter.get('/bannerUrl',function (req,res,next) { var data = {'name': 'jifeng', 'company': 'taobao'}; var params=urllib.parse(req.url,true); //console.log('请求1:'+params); if (params.query && params.query.callback) { //console.log('请求2:'+params.query); var str = params.query.callback + '(' + JSON.stringify(data) + ')';//jsonp res.send(str); } else { res.send(JSON.stringify(data));//普通的json }});
JSONP跨域获取数据
1.前端代码
Document异步获取数据 var log=function (obj) { console.log(obj); } var get=document.getElementById('get'); get.addEventListener('click',function () { var xhr=new XMLHttpRequest(); xhr.onload=function () { log(this.responseText); } xhr.open('post','http://192.168.0.250:9000/bannerUrl',true); xhr.send(); },false);
2.nodejs代码:
//获取banner urlrouter.post('/bannerUrl',function (req,res,next) { res.setHeader('Access-Control-Allow-Origin','http://192.168.0.250:3001'); res.send({name:'wzh'});});
关键字:JavaScript, html, css, html5
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!