このエラーに関しては、すでに多くの質問があることを私は知っています。しかし、ヘッダーを設定した後でも、これを機能させることはできません
"Access-Control-Allow-Origin" : "*"
私のサーバー側で。
これが私のSpringMVCコントローラーメソッドです:
@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;
}
そしてこれがJqueryからの私のAJAX呼び出しです
$.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");
}
});
Chrome用のdev-httpクライアントからRESTAPIを呼び出してみましたが、正常に機能します(応答ヘッダーにはAccess-Control-Allow-Origin:*が設定されています)。しかし、HTMLファイルから呼び出すと、エラーが発生します。
残りのAPIにはJBossを使用し、クライアントWebページをホストするためにTomcatを使用します