1、基於ajax 發起jsonp 請求。
前端代碼:
let url = 'http://localhost:8001/'; $.ajax({ type: 'get', dataType: 'jsonp', url: url, jsonp: "callback", success: function (res) { console.log('success',res) }, error (err) { console.error(err) } })
后端代碼:(node server)
let http = require('http'); http.createServer((req,res) => { res.setHeader('Content-Type', 'application/json') res.end(JSON.stringify({ data: 'hello word!', status: 'success' })) }).listen(8001)
請求結果:
2、callback函數回調,動態創建script標簽
前端代碼:
let url = 'http://localhost:8001/';
function ajaxHandle (data) { console.log('接受data', data) } var script = document.createElement('script'); script.setAttribute('src', url); document.getElementsByTagName('head')[0].appendChild(script)
后端代碼:(node server)
let http = require('http'); http.createServer((req,res) => { res.setHeader('Content-Type', 'application/json') let callback = req.url.split('&')[0].split('=')[1]; // 獲取callback 函數 let data = callback + '(' + JSON.stringify({data: 'hello word!'}) + ')'; // 拼接數據 res.end(data) }).listen(8001)
請求結果: