使用jsonp

一、本次使用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");
        })
原文地址:https://www.cnblogs.com/rage-the-dream/p/6534153.html