美文网首页
Ajax请求(二)代理

Ajax请求(二)代理

作者: fanren | 来源:发表于2022-05-12 14:20 被阅读0次

一、什么是代理

代理就是通过一个特殊的网络服务去访问另一网络服务的一种间接访问方式。像我们不能直接访问国外的网站,只能使用VPN,就是使用了代理。

二、为什么要使用代理

1. 前端开发

前端应用要能访问,那必须是放在服务器上(服务器可以是nginx、nodejs、apache、tomcat等),像我们本地vue开发就是用nodejs启动了一个服务。

在开发中,我们如果使用相对路径进行网络请求,最后请求的路径是http://localhost:3000+url,而实际我们需要的是http://113.140.12.194:18083+,这就需要我们使用代理的方式,把把服务代理到http://113.140.12.194:18083;

2. 跨域

由于浏览器的同源策略(协议、ip、端口号都相同为同源),禁止网站向非同源的服务器发送ajax异步请求,也就是跨域。
而代理就是解决跨域的一种方式;

三、代理的配置(Vue)

在vue.config.js中配置代理

module.exports = {
  publicPath: './',
  devServer: {
    port: 3000,
    proxy: {
      "/request": {
        target: "http://113.140.12.194:18083",
        changeOrigin: true,
        ws: true,
        secure: true,
        pathRewrite: {
          "^/request": ""
        }
      }
    }
  }
}

*devServer:webPack-dev-server的配置
*open:是否自动启动浏览器
*host:运行到浏览器上后的Ip
*port:运行到浏览器上后的端口号;
*proxy:代理配置项(代理可配置多项)
*"/chd/api":是代理配置项的key,表示拦截以/chd/api开头的url接口;
*target:目标接口的域名
*changeOrigin:是否跨域
*ws:代理webSocket时,需要设为true
*secure:使用https的时候,需要设为true
*pathRewrite:替换标识,原请求地址为/request/getdata时,将/request替换为空;(可选设置)

// 当使用上述代理设置时
this.$http({
  url: `/request/chd/api/authentication/org-tree/1234`,
  method: 'get'
}).then(({ data }) => {
});
pathRewrite会把/request替换为空;
然后代理到target里面的地址;
最后请求地址:
http://113.140.12.194:18083/chd/api/authentication/org-tree/1234

devServer里的代理配置,只在开发环境有用,在使用npm run build打包,并部署到服务器后,接口的请求地址,就会以服务器的地址为接口域名;

相关文章

  • Ajax请求(二)代理

    一、什么是代理 代理就是通过一个特殊的网络服务去访问另一网络服务的一种间接访问方式。像我们不能直接访问国外的网站,...

  • Spring MVC 传递参数的几种方式

    一 ajax带简单参数请求 controller jsp 页面 二 ajax带数组参数请求 controller ...

  • 五、使用jQuery实现Ajax

    一、本课目标 学会使用$.ajax()完成Ajax请求。 二、$.ajax()简介

  • ajax跨域请求问题的五种解决方案

    ajax跨域请求问题的五种解决方案 方案一: 使用跨域资源共享代理(corsproxy) 方案二: 使用jsonp...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

  • 自定义_ajax 两种方式

    一、用原生来写ajax 请求GET 请求POST 二、用ifarme来写 用ajax的时候,整体的请求步骤是1.向...

  • 2018-12-28

    简单爬虫项目(二) 对数据资源使用ajax异步请求网站进行爬取的几种方式 请求分析详见ajax请求分析 Phant...

  • ajax、fetch 跨域携带cookie

    一、ajax 跨域携带cookie 原生ajax请求方式: jquery的post方法请求: 服务器端设置: 二、...

  • ajax

    特点 ajax ajax入门 ajax请求与发送数据 ajax工具类封装 type:请求类型url:请求地址dat...

  • React学习补充

    React 网络请求 方法一 原生请求,react自带的fetch请求方式: 方法二 ajax请求,react通过...

网友评论

      本文标题:Ajax请求(二)代理

      本文链接:https://www.haomeiwen.com/subject/ytusurtx.html