TurboGears - JSON İşleme

@expose()dekoratör varsayılan olarak html içeriğini oluşturur. Ancak bu, şu şekilde ayarlanabilir:json content type. TurboGears, json oluşturmayı desteklertg.jsonify.JSONEncoder (**kwargs)sınıf. Json verilerini işlemek için, dekoratörün açığa çıkması için json'u içerik türü olarak iletin.

@expose('json')
def jsondata(self, **kwargs):
   return dict(hello = 'World')

Tarayıcıya '/ jsondata' URL'si girilirse, şunu göstererek yanıt verir -

{"hello": "World"}

jsonp Oluşturma

jsonp, json ile doldurma anlamına gelir. Denetleyici tarafından işlev bağımsız değişkenleri olarak döndürülen tüm değerleri sağlayan bir javascript işlevine çağrı içeren bir uygulama / javascript yanıtı sağlaması dışında json çıktısına benzer şekilde çalışır.

Jsonp oluşturmayı etkinleştirmek için önce uygulamanızdaki gerekli motorlar listesine eklemelisiniz - config/app_cfg.py -

base_config.renderers.append('jsonp')

Teşhir dekoratörünüzü aşağıdaki gibi yazın -

@expose('json')
@expose('jsonp')
def jsonpdata (self, **kwargs): 
   return dict(hello = 'World')

/ Jsonpdata? Callback = callme'ye erişirken şunu görmelisiniz -

callme({"hello": "World"});