2017-07-17 2 views
1

ich Angular bin hier 2 und CORSHttp POST von Angular2 to Rest API [CORS]

I Formulardaten aus Angular 2 to Rest Controller stellen. Aber im den folgenden Fehler bekommen

Antwort mit Status: 0 und Url: Null

component.ts 
--------------------------------------- 

onSubmit(form:NgForm) { 

console.log(form.value); 
var job = JSON.stringify(form.value); 
alert(job); //getting the value 



this.jobCleanupService.addJobCleanUp(job).subscribe(
     data => alert(data), 
     error => alert(error) 
    ); 
    } 


jobcleanup.service.ts 
---------------------------------- 

addJobCleanUp(job:any){ 
     let headers = new Headers({ 'Content-Type': 'application/json' }); 
let options = new RequestOptions({ headers: headers }); 

     alert('service'+ job); //getting the value 

return this.http.post('http://localhost:8080/addjobcleanup', job,options) 
        .map(res => res.json()); 
    } 

Erholung Controller in verschiedenen Repo

RestController 
--------------------------- 

@CrossOrigin(origins = "http://localhost:4200/newjobcleanup") 
    @RequestMapping(value = "/addjobcleanup" ,method = RequestMethod.POST) 
    @ResponseBody 
    public String addJobCleanUp(@PathVariable String job) { 
     logger.info("Add Job Clean Up"); 
     return "Success"; 
    } 
+0

Verwenden Sie die richtige URL? Ich sehe localhost: 4200 und localhost: 8080 –

+0

Haben Sie Ihrem 'package.json' eine Proxy-Konfiguration hinzugefügt? –

Antwort

1

Sie müssen nur http://localhost:4200/ als Ursprung verwenden, Ich denke, das wird helfen.

+0

Vielen Dank. Es funktioniert. Ich bin in der Lage zu sehen, die Log-Anweisung in Rest-Controller-Methode geschrieben. @CrossOrigin (Ursprung = "http: // localhost: 4200") @RequestMapping (value = "/ addjobcleanup" method = RequestMethod.POST) @ResponseBody public String addJobCleanUp (@RequestBody String Job) { logger.info ("Auftrag aufräumen"); Rückkehr Job; } – Jan69