
Acceder a mi data con javascript o jquery
Publicado por iván (1 intervención) el 10/12/2022 09:55:42
Hola tengo una duda que no se como hacer. Estoy en una vista de detalle de un modelo llamado Alumno, al darle a un boton me voy a otra vista create de otro modelo llamado Recibo, en boton tiene un función AJAX, con una petición en este caso GET, que le paso una acción y el id del Alumno.
Cuando intento recoger en la vista la petición en el contect data con una función al tener que procesar 2 GET, el de cambio de la url y el de la funcion pues siempre me sale vacío la data, cuando lo rescato en js.
Pongo el código.
Este es la funcion simple que está en un js de la vista Alumno
Luego en la vista create de Recibo está lo siguiente.
Y en el template recojo la data así
En el js de la nueva vista Recibo así
Siempre me sale vacío la data, así que me tiene atascado
Como podría decirle que solo procese la data del AJAX, o sino podría cambiarlo a una petición POST, pero luego como recojo esa data en el javascript, que es lo que necesito para luego en un select2 que tengo poner el nombre del Alumno que tenia en la vista anterior.
Por favor si alguién puede ayudarme se lo agradecería mucho.
Saludos
Cuando intento recoger en la vista la petición en el contect data con una función al tener que procesar 2 GET, el de cambio de la url y el de la funcion pues siempre me sale vacío la data, cuando lo rescato en js.
Pongo el código.
Este es la funcion simple que está en un js de la vista Alumno
1
2
3
4
5
6
7
8
9
10
11
function pagar_recibo(id) {
$.ajax ({
delay: 250,
type: 'POST',
url: '/general/recibo/add',
data: {
'id': id,
'action_al': 'add_alumnos',
},
});
};
1
2
3
4
5
6
7
8
9
10
ef get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = 'Creación de un Recibo'
context['entity'] = 'Recibos'
context['list_url'] = self.success_url
context['action'] = 'add'
context['arg'] = json.dumps(self.alum())
context['frmAlumno'] = AlumnoForm()
context['myform'] = DetReciboForm()
return context
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def alum(self, **kwargs):
data = []
try:
action = self.request.POST.get('action_al', False)
print(action)
if action == False:
return
elif action == 'add_alumnos':
data = []
id = int(self.request.GET['id'])
Alumnos = Alumno.objects.filter(pk=id)
for i in Alumnos:
item = i.toJSON()
item['text'] = i.get_full_name()
data.append(item)
print(data)
except Exception as e:
data['error'] = str(e)
return data
1
window.datos = {{ arg|safe }};
1
2
3
$ (function () {
let data = window.datos
console.log(data)
Como podría decirle que solo procese la data del AJAX, o sino podría cambiarlo a una petición POST, pero luego como recojo esa data en el javascript, que es lo que necesito para luego en un select2 que tengo poner el nombre del Alumno que tenia en la vista anterior.
Por favor si alguién puede ayudarme se lo agradecería mucho.
Saludos
Valora esta pregunta


0