一、本次使用nodejs进行测试。
服务端代码:
app.get("/api/news", function(req, res) { // 读取文件内容 fs.readFile("./news.json", function(err, data) { // 实现跨域请求 // 方式一:jsonP var funcName = req.query.callback; console.log(funcName)//即是浏览器端的jsonpCallback的值 if(funcName){ // ${funcName} `` res.send(`${funcName}&&${funcName}(${data})`) //返回数据时,必须用callback(即此处的变量funcName)把请求的数据包括起来,才能够成功返回数据 } }) })
浏览器端代码:
$.ajax({ url: 'http://localhost:3000/api/news', type: 'GET', dataType: 'jsonp', jsonp: "callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) jsonpCallback: "flightHandler"//即服务器端的取得的callback值 }) .done(function() { console.log("success"); })