我想使用Angular 6和NGXS作为前端和Codeigniter 3作为后端。如何将两者结合起来,以便从Angular NGXS中的CI调用api
我尝试了以下步骤:
中创建了登录API,
<代码>F215
对印前检查请求的
响应未通过访问控制检查:请求的资源上不存在“access - control -Allow-Origin”标头。因此不允许访问源'http://localhost:4200‘。响应具有HTTP状态代码404
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);
});
}
}
发布于 2018-07-24 21:44:19
由于您使用的是angular-cli
,因此您可能会使用代理来绕过这样的CORS问题,
使用以下内容在项目的根目录下创建一个proxy.conf.json
文件
{
"/api/*": {
"target": "http://localhost",
"secure": false,
"logLevel": "debug",
"changeOrigin": true
}
}
注意:此解决方法建议仅用于开发目的,您不应在生产服务器中使用此解决方法。
希望这能有所帮助!
https://stackoverflow.com/questions/51499984
复制相似问题