AJAXのページでクエリを実行しようとしています。バックエンドはDjangoを使用しています。私のjavascriptのはそうのようなものです:Ajax GET/POST Django、データの扱いが実際にはわからない
$(function(){
$("#form").submit(function(event){
event.preventDefault();
var query = ($("#input-field").val());
$.ajax({
type: "GET",
url:"{% url 'search_building' %}",
data: {
'csrfmiddlewaretoken': '{{ csrf_token }}',
'q': query
},
success: function(data) {
$("#search-results").html(data);
}
});
});
});
ページ全体を通り抜けると、私はちょうど結果が表から通ってくるしたいと#検索結果を、追加されます。
また、AjaxでGETまたはPOSTを使用すべきかどうか、csrfトークンを使用する必要があるかどうかについて少し混乱しています。
非常に高く評価されています。
私はそれを理解しました。
私の元のページ1つのビュー、1つのURLを使用して、クエリ
からすべての結果を返されたテンプレートは、私はDjangoのテンプレート言語を使用していたので、私は出力がJSONであることを、次に書きたいdidntはjavascriptを使用して出力を処理します。
私は結果をレンダリングするための2つ目のテンプレートを作成しました。クエリを処理するためのビューを作成し、新しいビューにクエリを送信して新しいテンプレートの結果を古いものにレンダリングするためにajaxを使用しました。
'AjaxでGETまたはPOSTを使うべきか、csrfトークンを使うべきかについて、ちょっと混乱しています。これはすべて、あなたが呼んでいるエンドポイントに依存します。 –
私はあなたが何を混乱させるか分かりません。データベースを更新するためにデータを送信する場合は、POSTを使用します。データの更新をリクエストする場合は、GETを使用します。テーブルの内容を送信するだけの場合は、その部分のみを送信するようにビューを作成する必要があります。 –
@Daniel Roseman Idは、データを取得してもPOSTをajaxとcsrfトークンで使用することが推奨されていることを2,3回読んだ(例をいくつか見てきた)。 – OrangeBubbles