首页 > 解决方案 > 数据传输错误 Angular CLI 到 Laravel(Access-Control-Allow-Origin' 标头)

问题描述

如果我使用 get 方法它运行时没有错误,我已经将数据 Angular 端发送到 laravel 端,但是如果我选择 post 方法,我会收到一个错误

Access-Control-Allow-Origin 标头

有人知道吗?这应该是标头加密错误

// Angular Code

import {Injectable} from '@angular/core';
import {HttpClient, HttpClientModule, HttpHeaders, HttpParams} from '@angular/common/http';
import {RequestOptions} from '@angular/http';
import {Observable} from 'rxjs';
import {BaseurlService} from '../BaseUrl/baseurl.service';

@Injectable({
  providedIn: 'root'
})
export class CompanyControlService {

  headers: Headers = new Headers();
  Options: any;

  constructor(private http: HttpClient, private configurl: BaseurlService) {

    this.headers.append('enctype', 'multipart/form-data');
    this.headers.append('Content-Type', 'application/json');
    this.headers.append('X-Requested-With', 'XMLHttpRequest');

    // @ts-ignore
    this.Options = new RequestOptions({headers: this.headers});

  }

  addEmployer(newRecode) {
    return this.http.post<any>(this.configurl.configUrlLoard() + 'employer/add', newRecode);
  }

}

// Laravel Code

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class EmployerController extends Controller
{
    function addEmployer()
    {
        error_log('Incoming request');
//        errorlog(request('companyNo'));
    }
}

//laravel route

Route::post('employer/add','EmployerController@addEmployer');

标签: angularlaravelhttp-headershttp-postangular-cli

解决方案


你的问题的两个解决方案: 1 第一个解决方案(最简单的解决方案)你应该从后端启用 cors 你可以在这里阅读

您前端的第二个解决方案,尝试通过在您的 src 应用程序下添加 proxy.config.json 在您的角度应用程序中使用代理配置,完整的解决方案在这里

不要忘记使用 npm run start 为您的 Angular 应用程序提供服务


推荐阅读