• angular cli 反向代理实现跨域


    版本:

     1、后端实现跨域(php)

    header("Access-Control-Allow-Origin: *");
    // // 响应类型
    // header('Access-Control-Allow-Methods:POST');
    // // 响应头设置
    // header('Access-Control-Allow-Headers:x-requested-with, content-type');

    2、前端跨域 

    项目目录下新建proxy.config.json文件

     proxy.config.json

    {
      "/api": {  
        "target": "http://localhost",    // php服务路径
        "logLevel": "debug",  
        "changeOrigin": true, 
        "pathRewrite": { 
          "^/api": ""
        }
      }
    }

    package.json

    {
      "name": "web",
      "version": "0.0.0",
      "scripts": {
        "ng": "ng",
        "start": "ng serve --proxy-config proxy.config.json --open",   // 修改
        "build": "ng build",
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e"
      },
      "private": true,
      "dependencies": {
        "@angular/animations": "^8.0.0",
        "@angular/cdk": "^8.0.0",
        "@angular/common": "~8.0.0",
        "@angular/compiler": "~8.0.0",
        "@angular/core": "~8.0.0",
        "@angular/forms": "~8.0.0",
        "@angular/material": "^8.0.0",
        "@angular/platform-browser": "~8.0.0",
        "@angular/platform-browser-dynamic": "~8.0.0",
        "@angular/router": "~8.0.0",
        "@types/echarts": "^4.4.1",
        "@types/jquery": "^3.3.29",
        "chart.js": "^2.8.0",
        "crypto": "^1.0.1",
        "echarts": "^4.4.0",
        "express": "^4.17.1",
        "font-awesome": "^4.7.0",
        "jquery": "^3.4.1",
        "mysql": "^2.17.1",
        "ngx-echarts": "^4.2.1",
        "primeflex": "^1.0.0",
        "primeicons": "^1.0.0",
        "primeng": "^7.1.3",
        "rxjs": "~6.4.0",
        "tslib": "^1.9.0",
        "zone.js": "~0.9.1"
      },
      "devDependencies": {
        "@angular-devkit/build-angular": "~0.800.0",
        "@angular/cli": "~8.0.1",
        "@angular/compiler-cli": "~8.0.0",
        "@angular/language-service": "~8.0.0",
        "@types/jasmine": "^3.3.16",
        "@types/jasminewd2": "~2.0.3",
        "@types/node": "^8.10.59",
        "codelyzer": "^5.0.0",
        "jasmine-core": "~3.4.0",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "~4.1.0",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "~2.0.1",
        "karma-jasmine": "~2.0.1",
        "karma-jasmine-html-reporter": "^1.4.0",
        "node-mysql": "^0.4.2",
        "protractor": "~5.4.0",
        "ts-node": "~7.0.0",
        "tslint": "~5.15.0",
        "typescript": "~3.4.3"
      }
    }

    启动使用 npm start

    访问使用 http:localhost:4200/api  就会映射到http:localhost

    this.http.post('http://localhost:4200/api', {name: this.name, company: this.company, price: this.price }, {
            headers: {
              'Content-Type': 'application/json'
            }
          }).subscribe((res: any) => {
            if (res.resultCode == 200) {
    
            }
            // 加载成功之后做一些事
          }, (err: any) => {
          });
  • 相关阅读:
    项目范围管理定义范围
    项目时间管理估算活动资源
    项目时间管理排列活动顺序
    强悍!ultraEdit的文本比较
    网页刷流量软件开发中的困惑
    关于淘宝CSV格式的研究
    HTTP session登陆处理与登陆保持
    用ps将自己的图片字节数变最小
    通过TApplicationEvents响应消息
    有的女人就像易语言
  • 原文地址:https://www.cnblogs.com/shuangzikun/p/11904783.html
Copyright © 2020-2023  润新知