私は概念的な理解の欠如に起因すると思うJavaScriptの問題に苦しんでいます。私はすぐにダイビングします:一見無関係のリターン関数なしではJavaScriptのダウンロードは機能しません
ボタンをクリックしたときにファイルをダウンロードしたいウェブページがあります。関連するhtml jsは次のとおりです。
// Js within html
var mypage = new MyPage();
$(document).ready(function() {
mypage.onReady();
});
document.readyは確実に動作しているボタンプッシュで実行されます。次に、私のMyPage.jsファイル:
onReady() {
$('.my-form').on('submit', function() {
$.ajax({
type: 'GET',
url: '/my/url',
data: {
'data': JSON.stringify(my_data)
}
}).done((response) => {
window.location.href = response.msg;
}).fail(function(data) {
console.log(data)
});
return false; //relevant line
});
}
戻り値false lineは無関係です。しかし、何らかの理由で私がそれを取り出すとダウンロードが失敗し、それが成功する。誰かがなぜ私に説明することができますか?それが必要な場合は、より多くの情報を投稿して幸せ。 the documentationによると
フォームを送信していないので、そこにあります...あなたの初期の機能はどれですか。あなたは代わりにajaxを使用しているので、 "submit"が起こるのを止めています。 – Zak
http://api.jquery.com/on/#event-handler – Phil