[解決済み] PythonのBottleでjQuery AJAXを使う
2022-02-18 10:56:36
質問
PythonのBottleモジュールでjQuery AJAXを使用する方法を考えています。
これは私の最初の試みですが、うまくいかず、本当に壁にぶつかっています(一日中プログラミングをしていて、脳が少し焼けています)。
from bottle import route, request, run, get
@route('/form')
def construct_form():
return '''
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('form').submit(function(e) {
$.ajax({
type: 'POST',
url: '/ajax',
data: $(this).serialize(),
success: function(response) {
$('#ajaxP').html(response);
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form method="POST" action="/ajax">
<input id="ajaxTextbox" name="text" type"text" />
<input id="ajaxButton" type="button" value="Submit" />
</form>
<p id="ajaxP">Nothing to see here.</p>
</body>
</html>
'''
@route('/ajax', method='POST')
def ajaxtest():
theText = request.forms.text
if theText:
return theText
return "You didn't type anything."
run(host = 'localhost', port = '8080')
基本的には、テキストボックスにテキストを入力してボタンをクリックし、"ajaxP" の innerHTML を入力されたテキストに変更できるようにしたいのです。
エラーはなく、ただボタンを押しても何もしないのですが。
何かお手伝いできることはありますか?
解決済み : フォームボタンは "button" ではなく、 "submit" のタイプである必要があります。顔面蒼白。
解決するには?
$("#ajaxP").load("/ajax", ...
が送信します。
GET
(ただし
POST
へのリクエスト
/ajax
の内容を置き換えます。
#ajaxP
をレスポンスHTMLに置き換えます。
を変更することで、問題を解決することができます。
method='POST'
を
method='GET'
をPythonのコードに追加してください。
または、フォームの送信を防ぎ、代わりにAJAXリクエストを送信することで、JSを修正することができます。
$(document).ready(function() {
$('form').submit(function(e) {
$.ajax({
type: 'POST',
url: '/ajax',
data: $(this).serialize(),
success: function(response) {
$('#ajaxP').html(response);
}
});
e.preventDefault();
});
});
関連
-
[解決済み] jQueryは、すべてのテキストフィールドの値の合計を計算する
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「Missing required request header」を修正する方法。origin,x-requested-withのいずれかを指定する必要があります' Ajax Error
-
[解決済み] カルーセルで画像を中央に配置する方法
-
[解決済み] jQueryを使って入力が空かどうかをチェックする
-
[解決済み] jQueryでリンクを無効化する
-
[解決済み] 右から検索トグル
-
[解決済み] どのようにjQueryでJSON配列をループするのですか?
-
[解決済み] BootstrapがUncaught Errorを投げる:BootstrapのJavaScriptはjQueryを必要とする【終了】。
-
[解決済み] jQuery slidetoggleが動作しない?[クローズド]
-
[解決済み] jquery .text()または.html()が動作しない
-
[解決済み] Jquery テーブルの行を隠す