在ajax請求之後更新'div'
P粉891237912
P粉891237912 2023-08-17 11:47:33
0
1
450
<p>這是我在Django中的第一個專案。我對Django、ajax和javascript都很陌生。我必須在進行ajax請求後將資料發送到jinja模板。 </p> <p>我的index.html如下:</p> <pre class="brush:php;toolbar:false;">{% if data %} <p>{{data.title}}</p> <p>{{data.price}}</p> {% endif %}</pre> <p>我的javascript如下:</p> <pre class="brush:php;toolbar:false;"><script> $.ajax({ type: "POST", url: "/", // 替換為實際視圖的URL data: { input_value: "test", csrfmiddlewaretoken: "{{ csrf_token }}" }, success: function(response) { title = response // 請求後,response會變成 { "data" : {"title":"t1", "price":20} } }, error: function() { console.log("Error") } }); <script></pre> <p>我不知道這是否可行。有些人使用element.innerHTML來更新,但我需要傳送到jinja格式。謝謝</p>
P粉891237912
P粉891237912

全部回覆(1)
P粉403804844

您在這裡有兩個選擇,這取決於您的偏好。

  1. 傳回一個範本而不是JSON 這裡的想法是在伺服器端產生模板,然後將產生的HTML回傳給AJAX呼叫者。因此,Ajax成功只是將此HTML片段追加到正確的位置。

  2. 在JS中渲染div 如果您只有JSON策略或使用DRF,則唯一的方法是使用循環遍歷接收到的項目並產生等效的HTML,然後將其新增至文件。

您無法將JinJa放在同一頁上,因為在生成頁面以渲染它時,您尚未接收到資料。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板