Kin*_*dth 2 spring-restcontroller angular cross-origin-read-blocking
我有一个模型:
export class Employe {
constructor(public id?: any,
public nom?: String,
public prenom?: String,
public cin?: String){}
}
Run Code Online (Sandbox Code Playgroud)
员工.component.ts
ngOnInit(){
this.loadEmployes();
}
pageEmployes:any={};
loadEmployes():Observable<any>{
this.http.get("http://localhost:8080/api/employe").subscribe(
data=>{
console.log(data);
this.pageEmployes = data;
}, err=>{
console.log(err);
}
);
return this.pageEmployes;
}
Run Code Online (Sandbox Code Playgroud)
员工.component.html
<tr *ngFor="let item of pageEmployes">
<td>{{item.nom}}</td>
<td>{{item.prenom}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
协作控制器.java
@RestController
@RequestMapping("/api/employe")
@CrossOrigin("*")
public class CollaborateurController {
@Autowired
private CollaborateurRepository collaborateurRepository;
@RequestMapping(value="", method=RequestMethod.GET)
public List<Collaborateur> getEmp() {
return (List<Collaborateur>) collaborateurRepository.findAll();
}
Run Code Online (Sandbox Code Playgroud)
这引发了我的错误:
ERROR 错误:找不到类型为“object”的不同支持对象“[object Object]”。NgFor 仅支持绑定到可迭代对象,例如数组。
从源“ http://localhost:4200 ”访问“ http://localhost:8080/api/employe ”的XMLHttpRequest已被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头存在于请求的资源。
小智 7
您正在尝试通过代码示例的外观迭代(循环)一个对象,而不是一个数组。
这部分是假的:
pageEmployes:any={};
Run Code Online (Sandbox Code Playgroud)
并且应该改为:
pageEmployes: Employe[] = [];
Run Code Online (Sandbox Code Playgroud)
“= {};” 初始化一个新对象。
“= [];” 初始化一个新的可迭代列表
| 归档时间: |
|
| 查看次数: |
17706 次 |
| 最近记录: |