2012-07-04 16 views
8

Envío de solicitud ajax desde un archivo jQuery como a continuación, que espera respuesta en JSON.¿Cómo devolver el valor de Python como JSON?

jQuery.ajax({ 
    url: '/Control/getImageDetails?file_id='+currentId, 
    type: 'GET', 
    contentType: 'application/json', 
    success: function (data){ 
     alert(data); 
    } 
}); 
}); 

En Python envié respuesta a la petición Ajax como tal:

record = meta.Session.query(model.BannerImg).get(fid) 
return_info = [record.file_id, record.filename, record.links_to] 
return result_info 

Esto devuelve Paramaters en texto plano por lo que es impossinle para leer valores diferentes. Creo que enviar respuesta de Python es que JSON resuelva este problema. He estado nerviosa antes de usar JSON. ¿Cómo puedo devolver la respuesta como JSON?

Respuesta

12

return json.dumps(return_info)

principal problema es

return_info = [record.file_id, record.filename, record.links_to] 

ya que el formato JSON es generalmente como

Ejemplo:

json.dumps({'file_id': record.file_id, 'filename': record.filename , 'links_to' : record.links_to}) 

y el mensaje que va a recibir es [object Object] si use alert(data)

Así que utilice alert(data.file_id); si utiliza el ejemplo

4

Codifíquelo utilizando las funciones en el módulo json.

+2

por ejemplo: 'retorno json.dumps (return_info)' – catchmeifyoutry

+0

Y nunca está de más tener éxito: Verdadero/Falso en el JSON devuelto –

+0

Lástima jQuery no lo hace como los códigos de respuesta HTTP adecuados ... – Dave

Cuestiones relacionadas