It’s hard to find good Sencha JSON encoding and form POST examples, so here’s a quick collection of JSON examples I found while working yesterday. I know that these examples work with Sencha ExtJS; they may also work with Sencha Touch.
JSON encode a JavaScript object
First, the following example comes from this page, and shows how to convert a JavaScript object to JSON in an AJAX request:
Ext.Ajax.request({
url: '/saveData.php',
success: function() { Ext.Msg.alert('Success'); },
failure: function() { Ext.Msg.alert('Fail'); },
jsonData: Ext.util.JSON.encode(dataObj)
});
As you can see, that example uses Ext.util.JSON.encode to JSON encode an object.
JSON encode a JavaScript dictionary with jsonData
Next, this example shows how to POST a dictionary of strings as JSON in a Ext.Ajax.request. Note the use of the jsonData key in this example:
Ext.Ajax.request({
url : 'doSomething.htm',
method: 'POST',
headers: { 'Content-Type': 'application/json' },
params : { "test" : "testParam" },
jsonData: {
"username" : "admin",
"emailId" : "admin@sivalabs.com"
},
success: function (response) {
var jsonResp = Ext.util.JSON.decode(response.responseText);
Ext.Msg.alert("Info","UserName from Server : "+jsonResp.username);
},
failure: function (response) {
var jsonResp = Ext.util.JSON.decode(response.responseText);
Ext.Msg.alert("Error",jsonResp.error);
}
});
JSON encode Sencha form values
Lastly, this discussion includes a few Sencha JSON POST examples in a form submit process. The most important code for me yesterday was the following block, which shows how to easily JSON encode the form values/variables:
{
xtype: 'button',
text: 'Create',
scope: this,
formBind: true,
handler: function(btn) {
form.submit({
method:'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
params: Ext.util.JSON.encode(form.getValues()),
waitTitle:'Connecting',
waitMsg:'Creating...',
success:function(data){
},
failure:function(form, result){
}
});
}
}
The key code in that example for me is this:
params: Ext.util.JSON.encode(form.getValues()),
Until I saw that code, I was handling my form variables manually. I know that was probably wrong, but I didn’t know the correct solution until I saw this code.
In summary, if you needed some Sencha form JSON POST examples, in particular those that show how to JSON encode form data, I hope these examples have been helpful.

