Extjs 4.2: Como enviar os parâmetros corretamente em um Ext.Forum.Posto de pedido

Tenho que fazer um POST do meu script ExtJs para apagar algo do meu DB:

Ext.Ajax.request({
    url: 'deleteRole.html',
    method: 'POST',          
    headers: {'Content-Type': 'text/html'},
    waitTitle: 'Connecting',
    waitMsg: 'Sending data...',                                     
    params: {
        "rolename" : rolename
    },
    scope:this,
    success: received,                                    
    failure: function(){console.log('failure');}
});
Quando o post é enviado posso ver no firebug o nome do rolename na fonte, mas não como um param. Eu gostaria de mostrar-lhe outro post (feito com mola:formulário) relativo ao registro do Usuário. Se eu inspecionar o post eu posso ver o seguinte:

Imagem http://s2.subirimagenes.com/otros/previo/thump_8498731post.jpg

E posso obter os parâmetros no meu controlador usando @RequestParam.

mas no post que tenho problemas não consigo ver a parte dos parâmetros, só consigo ver a parte da fonte (Fuente):

Image2 http://s2.subirimagenes.com/otros/previo/thump_8498737delete.jpg

como consequência, o meu controlador de mola não detecta nenhum parâmetro. Há algum problema no meu posto?

Obrigado

Author: Prakash K, 2013-06-19

3 answers

O problema é que está a usar a linha {[[0]} na sua pergunta original. Isso iria definir o conteúdo para texto / html em vez de o conteúdo ser dados post.

 10
Author: Reimius, 2013-06-19 13:16:03

Resolvi - o com o seguinte código:

var rolename = 'myRol';
Ext.Ajax.request({
    url: 'deleteRole.html',
    method: 'POST',          
    params: {
        rolename: rolename
    },
    success: received,                                    
    failure: function(){console.log('failure');}
});
 8
Author: mannuk, 2013-06-19 08:45:12
Estou a usar isto num app Sencha Touch. Eu tive que adicionar um config extra chamado jsonData e torná-lo verdadeiro ou então nada é passado ao meu URL endpoint.
Ext.Ajax.request({
    url: endpoint,
    method : "POST",
    headers: {
        'Content-Type': 'application/json'
    },
    params : {add: formattedAddress, lat: latitude},
    jsonData: true,
    useDefaultXhrHeader : false,
    withCredentials: true,                
    success : function(response) {
        Ext.Msg.alert("Success", 'yea');
    },
    failure : function(response) {
        var respObj = Ext.JSON.decode(response.responseText);
        Ext.Msg.alert("Error", respObj.status.statusMessage);
    }
});
 5
Author: paddys_1, 2015-03-06 23:17:01