2017-03-14 5 views
0

私は、最も簡単なSparkサーバーをセットアップしました。それは要求に耳を傾け、単純なjsonメッセージで応答します。このJavaScript経由でSparkサーバーからREST応答を受信できないのはなぜですか? (Hello World!)

また、Sparkの「hello world」REST URLをリクエストする非常に単純なWebページもあります。

私のChromeブラウザでURLを要求すると、期待通りの応答が得られます。しかし、JavaScriptから私はエラーが発生しています。私は間違って何をしていますか? localhost上にあるため接続できませんか?私は何をしますか?

I以下のスパークアプリケーションがあります。

import static spark.Spark.get; 
import static spark.Spark.port; 

public class WebServer { 

    public static void main(String[] args) { 
     port(7675); 
     get("/hello", (req, res)->{ 
      System.out.println("Hello"); 
      res.type("application/json"); 
      return "Hello"; 
     }); 
    } 
} 

をそして、私は次のJavaScript持っている:私はロードしかし

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" href="testPage.css"> 
    <script type="text/javascript" src="testPage.js"></script> 
</head> 

<body onload="onLoad()"> 
<div id="div1"></div> 
</body> 
</html> 

function onLoad(){ 
    alert("Loaded") 
    var xhttp = new XMLHttpRequest(); 
    xhttp.open("GET", "http://localhost:7675/hello/", false); 
    xhttp.setRequestHeader("Content-type", "application/json") 
    try{ 
     xhttp.send(); 
    } catch(e){ 
     alert(e); 
    } 
} 

は、以下のHTMLでの作業私はcatch節から次の警告を得る:

NetworkError: Failed to execute 'send' on 'XMLHttpRequest':Failed to load 'http://localhost:7675/hello 

答えて

1

ブラウザには、CORSというセキュリティ機能が実装されています。これはSparkで有効にする必要があります。それを行う方法に関するチュートリアルがありますhere

+0

あなたはそうです、それは今働いています!ありがとうございました。 – user1488773

関連する問題