私は簡単な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
は私のページを機能させます。しかし、私はこの解決策を考えていない。
CORSについてお読みください。 –
ローカルでは失敗しているのですか、またはリモートホスト上の残りのAPIですか? – Jeroen
Rest APIはローカルにあります。 – crooked