iron-ajax Polymer Web コンポーネントを使用してローカルの json ファイルをロードすると、json ファイルではなく、index.html の内容が返されます。
<iron-ajax auto url="data.json" on-response="handleResponse" handle-as="json"></iron-ajax>
「ネットワーク」の下の Chrome 開発者ツールで応答を確認していますが、返された応答は index.html ファイルと同じです。バックエンドにFlaskを備えたフロントエンドとしてPolymer 2.0スターターキットを使用しています。これが単純な間違いである場合はお詫びしますが、私は JavaScript を初めて使用します。
私の簡略化されたファイル構造は次のようになります。
/app
|-- app.py
|-- /static
|-- index.html
|-- /bower_components
|-- /src
|-- data.json *(file to be loaded)*
|-- my-app.html
|-- my-view.html *(view to load file)*
編集: 問題は、私が使用しているボイラー プレートの app.py ファイルにあるこのキャッチオールに関係していると思われます。このアプリケーションで相対 URL がどのように機能しているかがわかりません。
@app.route("/static/<path:path>")
def static_c(path):
return current_app.send_static_file(path)
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
return current_app.send_static_file("index.html")