跨域

什么是跨域?

跨域是指一个域下或者脚本试图去请求另一个域下的资源,这里是跨域的广义的。
广义的跨域:

1、 资源跳转: A链接、重定向、表单提交
2、 资源嵌入:

启动终端,在当前文件下执行 node server.js ,浏览器打开 http://localhost:8080/index.html ,查看效果和网络请求

效果.png
2、跨域资源共享(CORS) 推荐

普通的跨域请求:只要服务器端设置Access-Control-Allow-Origin即可,前端无需设置,若带cookie请求:前后端都要设置。

后台server.js示例:

var http = require('http')
var fs = require('fs')
var path = require('path')
var url = require('url')

http.createServer(function (req, res) {
  var pathObj = url.parse(req.url, true)

  switch (pathObj.pathname) {
    case '/getNews':
      var news = [
        "你真棒",
        "数据就这么来了"
      ]
      //后端在响应头上加上Access-Control-Allow-Origin属性
      res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080')
      //所有人都可以访问
      //res.setHeader('Access-Control-Allow-Origin','*')
      res.end(JSON.stringify(news))
      break;
    default:
      fs.readFile(path.join(__dirname, pathObj.pathname), function (e, data) {
        if (e) {
          res.writeHead(404, 'not found')
          res.end('

404 Not Found

') } else { res.end(data) } }) } }).listen(8080)

前端index.html






  

启动终端,在当前文件下执行 node server.js ,浏览器打开 http://localhost:8080/index.html ,查看效果和网络请求

效果.gif

参考:


https://segmentfault.com/a/1190000011145364

你可能感兴趣的:(跨域)