Failed to load http://localhost:8090/category/lists: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://localhost:8081' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
复制代码
后端配置缺一不可,否则会出错,贴上我的后端示例:
const express = require('express')
const app = express()
const cors = require('cors') // 此处我的项目中使用express框架,跨域使用了cors npm插件
app.use(cors{
credentials: true,
origin: 'http://localhost:8081', // web前端服务器地址
// origin: '*' // 这样会出错
})
复制代码
成功之后,可在请求中看到
Angular4 Angular5 cookie跨域以及相关配置http with credentials 配置
import { Injectable } from 'angular2/core';
import { IjobCard } from '../jobCard/jobCard';
import { Http, Response } from 'angular2/http';
import { Observable } from 'rxjs/Observable';
import { Icredentials } from './credentials';
@Injectable()
export class LoginService {
private _loginUrl = 'MyUrl/Login';
loginCred: Icredentials = {
"filed1": "dummy1",
"filed2": "dummy2",
"filed3": "dummy3"
};
private headers = new Headers({ 'Content-Type': 'application/json' });