Quiero enviar datos de python a JS en Django. Veo con éxito los datos en la respuesta en el navegador, pero JS devuelve una cadena vacía. ¿Cuál sería la razón?
tratando de obtener información;
def XXX(request): message_id=request.POST.get('messageid') return render(request, 'XX.html')
remitente;
y = json.loads(response.text) ts = str(y["file"]["shares"]["public"]["XX"][0]["ts"]) return render (request, 'problemduyurusucreate.html', {'ts':ts})
JS;
<script type=text/javascript> function slacksil() { html2canvas(document.getElementById("main"), { letterRendering: 1, allowTaint: true, useCORS: true,}) .then(function (canvas) { swal({ title: "Emin misiniz?", text: "Duyuru Kanaldan Silinecek!", icon: "warning", buttons: true, dangerMode: true,}) .then((willDelete) => { if (willDelete) { document.getElementById("result").src = canvas.toDataURL("image/png", 0.5); var deneme = "{{ ts }}"; $.ajax({ type: "POST", url: "{% url 'slacksilproblem' %}", data: { "messageid": deneme, csrfmiddlewaretoken: '{{ csrf_token }}'}}) swal({ title: "Duyuru Kanaldan Silindi!", icon: "success",})} else { swal("İşlem İptal Edildi!", { icon: "error",});}}); }) .catch((e) => { alert(e); }); } </script>
pero estoy mostrando en mi navegador que he extraído con éxito los datos
primero estoy enviando una solicitud de publicación a python para enviar la imagen después del script de python python enviar a la identificación de marca de tiempo del mensaje html;
luego publique la solicitud para eliminar el mensaje con la identificación de la marca de tiempo, pero viene vacío para python. Pero cuando miro la respuesta en el navegador, veo que los datos están llegando.
Resolví el problema enviando los datos a la cookie con python y recuperando los datos de python nuevamente.
datos del remitente a la cookie (x son mis datos);
html = HttpResponse("<h1>TP</h1>") html.set_cookie('ts', x, max_age = None) return html
y obtener datos en otro fonc. como esto;
message_id=request.COOKIES['ts']
finalmente eliminar la cookie;
html.delete_cookie('ts','!')