爲了使SparkJava應用程序能夠接收外部請求,您必須啓用CORS。在任何路由/過濾器之前添加以下片段。
options("/*",
(request, response) -> {
String accessControlRequestHeaders = request
.headers("Access-Control-Request-Headers");
if (accessControlRequestHeaders != null) {
response.header("Access-Control-Allow-Headers",
accessControlRequestHeaders);
}
String accessControlRequestMethod = request
.headers("Access-Control-Request-Method");
if (accessControlRequestMethod != null) {
response.header("Access-Control-Allow-Methods",
accessControlRequestMethod);
}
return "OK";
});
在客戶端(angularjs),請執行以下操作
$httpProvider.defaults.useXDomain = true;
難道Java Servlet的足以滿足您的要求? –
Spark是否無法接收來自其他服務器的請求?不知道我明白。 SparkJava是JettyWebServer的單例包裝器。 請擴大您的問題,以便可以回答。 –
@ domfarr ..我的前端正在另一臺服務器(npm)上運行。我嘗試在sparkjava發送請求到我的路由,但是我得到了交叉錯誤。我已經放入了響應標頭,允許跨越原點和所有HTTP方法,但它仍然會給出相同的錯誤。 –