{% load i18n %}
jsonData = { 'method': <method_name>, 'kwargs': { 'key': <param1>, 'key2': <param2>, 'key3': [ <param3_1>, <param3_2>, <param3_3> ], ... }, 'username': <login_name>, 'password': <password>, }
{% trans 'Authorization settings everywhere are optional.'%} {% trans 'For example, if the request object stores a user session, then authentication occurs on these data.' %}
$.post('/api/', { 'method': <method_name>, 'key': <param1>, 'key2': <param2>, 'key3': [ <param3_1>, <param3_2>, <param3_3> ] }, function() {});
{% trans 'In this variant, you can only pass lists and simple values.' %} {% trans 'Key "key3" in this case, jQuery will automatically change to "key3[]".' %}
$.post('/api/', { jsonData: JSON.stringify({ 'method': <method_name>, 'kwargs': { 'key': <param1>, 'key2': <param2>, 'key3': [ <param3_1>, <param3_2>, <param3_3> ], ... }, }) }, function() {});
{% trans 'In this variant, you can transfer any serializable objects.' %} {% trans 'To properly serialize dates in JSON is better to use special jQuery plugin.' %}
import urllib2, urllib, json, base64 url = 'https://{{ request.get_host|default:'localhost' }}/api/' data = {'method':"get_orders_id", 'kwargs':{'date':'2012-01-01', 'state': 4 },} data = urllib.urlencode({'jsonData':json.dumps(data)}) req = urllib2.Request(url, data=data, headers={ 'Authorization': 'Basic ' + base64.b64encode('%s:%s' % ('login', 'passwd')) } ) r = urllib2.urlopen(req) print r.read()
import urllib2, urllib, json url = 'https://{{ request.get_host|default:'localhost' }}/api/' data = {'username':'login','password':'passwd','method':"get_orders_id", 'kwargs':{'date': '2012-01-01', 'state':2 }, } data = urllib.urlencode({'jsonData':json.dumps(data)}) r = urllib2.urlopen(url, data=data) print r.read()