Rumah  >  Soal Jawab  >  teks badan

Kemas kini 'div' selepas permintaan ajax

<p>Ini adalah projek pertama saya di Django. Saya baru menggunakan Django, ajax dan javascript. Saya perlu menghantar data ke templat jinja selepas membuat permintaan ajax. </p> <p>Indeks.html saya adalah seperti berikut:</p> <pre class="brush:php;toolbar:false;">{% jika data %} <p>{{data.title}}</p> <p>{{data.price}}</p> {% endif %}</pre> <p>Javascript saya adalah seperti berikut:</p> <pre class="brush:php;toolbar:false;"><script> $.ajax({ taip: "POST", url: "/", // Gantikan dengan URL paparan sebenar data: { input_value: "ujian", csrfmiddlewaretoken: "{{ csrf_token }}" }, kejayaan: fungsi (tindak balas) { title = response // Selepas permintaan, respons akan menjadi { "data" : {"title":"t1", "price":20} } }, ralat: function() { console.log("Ralat") } }); <skrip></pre> <p>Saya tidak tahu sama ada ini boleh dilakukan. Sesetengah orang menggunakan element.innerHTML untuk mengemas kini, tetapi saya perlu menghantar kepada format jinja. Terima kasih</p>
P粉891237912P粉891237912430 hari yang lalu402

membalas semua(1)saya akan balas

  • P粉403804844

    P粉4038048442023-08-18 10:45:59

    Anda mempunyai dua pilihan di sini, bergantung pada pilihan anda.

    1. Kembalikan templat dan bukannya JSON Idea di sini adalah untuk menjana templat pada bahagian pelayan dan kemudian mengembalikan HTML yang dijana kepada pemanggil AJAX. Jadi kejayaan Ajax hanyalah menambahkan serpihan HTML ini ke lokasi yang betul.

    2. Render div dalam JS Jika anda hanya mempunyai strategi JSON atau menggunakan DRF, satu-satunya cara ialah menggunakan gelung untuk menggelungkan item yang diterima dan menjana HTML yang setara dan kemudian menambahkannya pada dokumen.

    Anda tidak boleh meletakkan JinJa pada halaman yang sama kerana apabila anda menjana halaman untuk memaparkannya, anda belum menerima data lagi.

    balas
    0
  • Batalbalas