2012-07-04 14 views
8

Wysyłam żądanie ajax z pliku jQuery, jak poniżej, który oczekuje odpowiedzi w JSON.Jak zwrócić wartość z Python jako JSON?

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

W Pythonie wysłałam odpowiedź na żądanie Ajax, takie jak:

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

ta zwraca paramaters w postaci zwykłego tekstu, zarówno impossinle czytać jak różne wartości. Myślę, że wysyłanie odpowiedzi z Pythona, jak JSON rozwiązać ten problem. Wcześniej używałam JSONA. Jak mogę zwrócić odpowiedź jako JSON?

Odpowiedz

12

return json.dumps(return_info)

Głównym problemem jest

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

bo formacie JSON jest ogólnie podoba

Przykład:

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

a komunikat idziesz do odbioru jest [object Object] jeśli ciebie użyj alert(data)

więc używać alert(data.file_id); jeśli używasz przykładzie

4

Zakoduj go, korzystając z funkcji modułu json.

+2

np: 'zwracają json.dumps (return_info)' – catchmeifyoutry

+0

I to nie boli mieć sukces: Prawda/Fałsz w zwróconym JSON –

+0

Too bad jQuery nie jak odpowiednie kody odpowiedzi HTTP ... – Dave

Powiązane problemy