首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Codeigniter中使用API的Angular 6

在Codeigniter中使用API的Angular 6
EN

Stack Overflow用户
提问于 2018-07-24 21:32:40
回答 1查看 892关注 0票数 0

我想使用Angular 6NGXS作为前端和Codeigniter 3作为后端。如何将两者结合起来,以便从Angular NGXS中的CI调用api

我尝试了以下步骤:

  • 使用以下命令创建了angular项目: ng new {项目名称}
  • 在CI

中创建了登录API,

  • 安装了NGXS存储,并更新了app.module.ts文件以将其包含在
  • 中我添加了以下代码,这给出了以下错误:

<代码>F215

对印前检查请求的

响应未通过访问控制检查:请求的资源上不存在“access - control -Allow-Origin”标头。因此不允许访问源'http://localhost:4200‘。响应具有HTTP状态代码404

代码语言:javascript
复制
import { State, Action, StateContext, Selector } from '@ngxs/store';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';

import { Login } from '../models/Login';
import { LoginUser } from '../actions/login.action';

export class LoginUserModel {
    login: Login[];
}

@State<LoginUserModel>({
    name: 'login',
    defaults: {
        login: []
    }
})
export class LoginState {

    constructor(private http: HttpClient) {}

    @Action(LoginUser)
    authenticate({ getState, patchState }: StateContext<LoginUserModel>, { payload }: LoginUser) {
        this.http.post("http://localhost/CI/api/User/authenticate" , payload ).subscribe(response => {
            console.log("res=>"+response);
        });
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 21:44:19

由于您使用的是angular-cli,因此您可能会使用代理来绕过这样的CORS问题,

使用以下内容在项目的根目录下创建一个proxy.conf.json文件

代码语言:javascript
复制
{
  "/api/*": {
    "target": "http://localhost",
    "secure": false,
    "logLevel": "debug",
    "changeOrigin": true
  }
}

注意:此解决方法建议仅用于开发目的,您不应在生产服务器中使用此解决方法。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51499984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档