静的なHTMLページからAmazonCloudSearchをクエリする方法がわかりません。ドキュメントは優れていますが、ブラウザにURLをコピーして貼り付ける以外の例はありません。
私が欲しいのはS3のHTMLページなので、サーバー側のコードは許可されておらず、検索ボタンがクリックされたときにCloudSearchエンドポイントに起動して結果を返すテキストフィールドフォームを持つことができます
CloudSearchはJSONで応答するため、それを解析して結果のテーブルを作成する必要があります。
これまで、結果の保存されたJSONをローカルで処理し、Jqueryを使用してJSONファイルを読み取っていました。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>JSON Sample</title>
</head>
<body>
<div id="placeholder"></div>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$.getJSON('search.json', function(data) {
var output="<ul>";
for (var i in data.hit) {
output+="<li>" + data.hit[i].id+ "</li>";
}
output+="</ul>";
document.getElementById("placeholder").innerHTML=output;
console.log(data);
});
</script>
</body>
</html>
これにより、レコードのIDがわかります。
しかし、URLをCloudSearchエンドポイントに変更しようとすると、データが返されません。読んで輪になって回ったのは、CORSのせいだと思います。
ただし、Amazonのドキュメントには、エンドポイントでHTTP GETを使用するように記載されていますが、それをHTMLページに組み込むにはどうすればよいですか。
そんな基本的な質問でごめんなさい