2017-09-15 6 views
0

私は同じドメインでアクセスすると、純粋なJS(はい、フレームワークなし)でJava API RESTとフロントエンドアプリケーションを作っています、しかし、別のドメインからのアクセスを試みると、私はできません。私は別のドメインの私のAPIにアクセスすることができません

Javaアプリケーションでの私のフィルタはこのようなものです:

after((req, resp) -> { 
     resp.header("Access-Control-Allow-Headers", "Access-Control-Allow-Origin, Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); 
     resp.header("Access-Control-Allow-Methods", "GET,PUT,DELETE,POST,OPTIONS"); 
     resp.header("Content-Encondig", "gzip"); 
     resp.header("Access-Control-Allow-Origin", "*"); 
     resp.type("application/json"); 
    }); 

そして、私のJS要求は、このようなものです:私は別のドメインによるが、直接ブラウザでアクセスした場合:

static get(startDate,endDate){ 
    return fetch(`http://localhost:4567/api/schedule/${startDate}/${endDate}`,{ 
     mode : "cors", 
    }) 
    .then(result => result.json()) 
    .catch(error => erroe) 
} 

重要、私はJSONを完全に取得します バックエンド:java Spark frameWork

+1

どこに手を差し伸べますか?スパークの終わりはどうなりますか?リクエストをログに記録していますか?どちらが来ますか? [尋ねる]を見てください。これはまた、フィルタの前のものとして意味があります。 – pvg

+0

自分のチュートリアルで行うことだけでも実装できます。 https://sparktutorials.github.io/2016/05/01/cors.html(ただし、beforeフィルタも同様に機能します) – pvg

答えて

0

私は自分の問題を解決しました。私のアプリケーションでは、私はhttp://localhost:4567/apiの要求を呼び出しました。その後、私は他のドメインからアプリケーションにアクセスしたときに、アプリケーションが自己要求を呼び出したので、解決策はアプリケーションのIPアドレスによってlocalhostを変更しました。

関連する問題