Cross-Origin Request blockierter Spring REST-Service + AJAX

Feder-REST-Service kann nicht angerufen werden

Mein Frühlingsdienst

@RequestMapping(value = "/MAS/authenticate", method = RequestMethod.POST)
public ResponseEntity<Map<String, String>> authenticate(@RequestBody Subject subject) {
    Map<String, String> result = new HashMap<String, String>();
    result.put("result_detail", "Invalid Password");
    result.put("result", "failure");
    HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.setContentType(MediaType.APPLICATION_JSON);
    responseHeaders.add("Access-Control-Allow-Origin", "*"); // also added header to allow cross domain request for any domain
    return new ResponseEntity<Map<String, String>>(result, responseHeaders, HttpStatus.OK);
}

Mein AJAX-Code

$.ajax(
{
  crossDomain: true,
  type: "POST",
  contentType: "application/json; charset=utf-8",
  async: false,
  url: "http://localhost:8080/SpringMVC/rest/MAS/authenticate",
  headers: {"Access-Control-Allow-Origin" : "*"},
  data:{},
  dataType: "json", //also tried "jsonp"
  success: function(data, status, jqXHR)
  {
    alert('success');
  },
  error: function(jqXHR, status)
  {
    alert('error');
  }
});

Ich erhalte folgenden Fehler:

Ursprungsübergreifende Anforderung blockiert: Dieselbe Ursprungsrichtlinie verhindert das Lesen der Remote-Ressource unterhttp: // localhost: 8080 / SpringMVC / rest / MAS / authenticate. Dies kann behoben werden, indem die Ressource in dieselbe Domäne verschoben oder CORS aktiviert wird.

Ich habe auch versuchtdataType: "jsonp". Es hängt mein Body-Objekt an eine URL an, die eine andere URL erstellt und meine Service-URL dann nicht erreicht. Es wurde ein 404-Fehler gemeldet.

Mein Browser: Firefox 36.0.4

Wie kann ich diesen Fehler beheben?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage