2017-05-23 12 views
0

私は簡単なSpring REST Webアプリケーションを作成しました。今私はいくつかのクライアントと私のAPIを消費したい。私はjQueryクライアントを書くことに決めました。jQueryを使用したSpring REST APIの使用

私はこのような何かを試してみたので、私は、インターネットでいくつかの例を見つけた:

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost:8080/api/v1/users/1", 
     dataType: "json" 
     }).then(function(data) { 
      $('.user-id').append(data.userId); 
      $('.user-email').append(data.email); 
      $('.user-username').append(data.username); 
     }); 
}); 

http://localhost:8080/api/v1/users/1

<head> 
    <title>Hello jQuery</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script src="hello.js"></script> 
</head> 
<body> 
    <div> 
     <p class="user-id">User id is </p> 
     <p class="user-email">His email: </p> 
     <p class="user-username">He is known as: </p> 
    </div> 
</body> 

の.jsの.html "返品:

{ 
    "userId": 1, 
    "email": "[email protected]", 
    "password": "haslo123", 
    "username": "witek", 
    "birthday": "1992-07-12", 
    "links": [ 
    { 
     "rel": "self", 
     "href": "http://localhost:8080/api/v1/users/1" 
    }, 
    { 
     "rel": "shopping-lists", 
     "href": "http://localhost:8080/api/v1/users/1/shopping-lists" 
    } 
    ] 
} 

しかし、Chromeでhtmlを開くと、データが取得されません。何が間違っているのですか?

編集:url:/api/v1/users/1"クロームdevのコンソールでは、叫ぶ:jquery.min.js:6 XMLHttpRequest cannot load file:///C:/api/v1/users/1. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. erorr url: "http://localhost:8080/api/v1/users/1"リターンを持ちます。

一時的な解決策: 見つかったもの。 Chromeで自分のページを起動すると、次のようになります。chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-securityは私のページを機能させます。しかし、私はこの解決策を考えていない。

+0

CORSについてお読みください。 –

+0

ローカルでは失敗しているのですか、またはリモートホスト上の残りのAPIですか? – Jeroen

+0

Rest APIはローカルにあります。 – crooked

答えて

1

クローム開発者コンソールで(右クリックして検査する)チェックボックスをオンにし、[ネットワーク]タブにエラーがあるかどうかを確認します。基本的に、実際のURLとネットワークコールが何であるかを確認してください。

+0

ポストにクロムコンソールエラーが追加されました。 – crooked

+0

助けてください、まだ 'No 'Access-Control-Allow-Origin''エラーです。 – crooked

+0

これは覚えているだけなので、chrome CORSプラグインをインストールすることをお勧めします。https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved= 0ahUKEwjN7Ou9gYfUAhUr1oMKHUxSA1IQFggoMAA&URL = HTTPS%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Fallow-制御可能-origi%2Fnlfbmbojpeacfghkpbjhddihlkkiljbi%3Fhl%3Den&USG = AFQjCNHSUFqc6ylxfxfbWzmmFJ6L5QUvyg&SIG2 = vwb4F5soMXsVnHxoyYdFxw –

0

test.jsonに保存されているjson(とそれを指し示すajax呼び出し)を試してみましたが、それはそのまま私のために働いています。

関連する問題