Я делаю HTTP-запрос от службы angular к контроллеру codeigniter, я не получаю ошибку CORS, потому что я добавил следующий код в конструктор для моего контроллера
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
$method = $_SERVER['REQUEST_METHOD'];
if($method == "OPTIONS") {
die();
}
А также сделал файл proxy.conf.json вместе с файлом package.json в угловой угловой папке со следующим кодом.
{
"/api": {
"target": "http://localhost:80/ecommerce/",
"secure": false,
"pathRewrite": {
"^/api": ""
},
"changeOrigin": true
}
}
Я получаю {"status": false, "error": "Недопустимый ключ API"} всякий раз, когда я делаю запрос от service.ts
const httpOptions = {
headers: new HttpHeaders({
'X-API-KEY': 'shwpalensuFJLLVxnX6Su3akdngarsng'
})
};
@Injectable({
providedIn: 'root'
})
export class UserService {
userUrl = 'http://localhost:80/newProject/'; //URL to web api
constructor(private http: HttpClient){}
/** GET User-List from the server */
getUsers (): Observable<User[]> {
return this.http.get<User[]>(`${this.userUrl}api/User/geUser`);
}
}
И я позвонил в этот сервис из моего component.ts
import { User } from './user';
import { UserService } from './user.service'
@Component({
selector: 'app-content',
templateUrl: './content.component.html',
providers: [ UserService ],
styleUrls: ['./content.component.css']
})
export class ContentComponent implements OnInit {
users: User[];
constructor(private userService: UserService) { }
ngOnInit() {
this.userService.getUsers()
.subscribe(users => this.users = users);
console.log(this.users);
}
Помогите мне узнать, где и что я пропустил и есть ли эффективный способ выполнить эту задачу.
вы можете взглянуть на ошибку1
Вы можете посмотреть на ошибку2