Flaskr を使用して、RESTful API 経由でデータを生成しています。私の呼び出しは次のようになります。
http get localhost:5000/v1.0/dataset dataset_id==f7e7510b3c1c4337be339446ca000d22
次のようなものを返します。
{"sites": "a"}
今、私は自分のウェブアプリでこのデータを取得しようとしています. 最初にクロスドメイン エラーに遭遇しましたが、いくつか読んだ後、jsonp を使用してそのエラーを回避できることがわかりました。ここで見つけたコードを基本的にコピーして、これをまとめました(JavaScriptは初めてです):
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
(function($) {
var url = 'http://localhost:5000/v1.0/dataset?dataset_id=f7e7510b3c1c4337be339446ca000d22&callback=?';
$.ajax({
type: 'GET',
url: url,
async: false,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function(json) {
console.dir(json.sites);
},
error: function(e) {
console.log(e.message);
$('#data').html('the error was thrown');
}
});
})(jQuery);
</script>
</head>
<body>
<div id = 'data'></div>
<p> place holder </p>
</body>
それに応じて、私のpython応答を次のように変更しました。
"jsonCallback({\"sites\":\"a\"});"
これが役立つ場合、フラスコの戻り行は次のとおりです。
return callback_function + '({"sites":"a"});'
問題の Python 側は良好であると確信していますが、エラーの原因を特定するのに十分なほど JS に精通していません。私の目標は、自分のデータをページに表示することです。