Я знаю, что есть много вопросов относительно этой ошибки. Но, я все еще не могу получить эту работу даже после установки заголовкаПроисхождение URL не разрешено Access-Control-Allow-Origin
"Access-Control-Allow-Origin" : "*"
на моей стороне сервера.
Вот мой Spring MVC метод контроллера:
@RequestMapping(method=RequestMethod.GET, value="dummy/{num}")
@ResponseBody
public ResponseEntity<Result> dummy(@PathVariable String num)
{
int n = Integer.parseInt(num);
final Result result = new Result();
result.setAddition(n+20);
result.setMultiplication(n*20);
result.setSubtraction(n-20);
HttpHeaders headers = new HttpHeaders();
headers.add("Access-Control-Allow-Origin", "*");
ResponseEntity<Result> ent = new ResponseEntity<Result>(result,headers,HttpStatus.CREATED);
return ent;
}
А вот мой AJAX вызов из Jquery
$.ajax({
url: "http://localhost:8010/Probe_Rest_Service/test/dummy/9",
type: "get",
crossDomain: true,
dataType: 'json',
headers: {
"Content-type" : "application/json"
},
success: function(data){
console.log("It worked!");
alert(data);
},
error: function(){
// enable the inputs
alert("error");
}
});
Я попытался назвать мой REST API от Dev-клиента клиента для хрома и это работает fine (заголовок ответа имеет Access-Control-Allow-Origin: * set). Но, когда я вызываю его из своего html-файла, я получаю ошибку.
Я использую JBoss для моего отдыха апи и кота для размещения моего клиента веб-страницы
Примечание: 'crossDomain: true,' не требуется. –
Вы делаете html-файл с веб-сервера с помощью хром? –
@KevinB Да, это правильно – CuriousCoder