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"});