function workprogress(){Ext.Ajax.request({
    url: 'communication.php',
    success: noWork,
    failure: yesWork
    });}
    function noWork() {
            infoWindow.hide();
    }
    function yesWork() {
            infoWindow.show();
    }

Quiero hacer eco del texto de respuesta a la ventana. ¿Cómo captas el texto de respuesta que proviene del archivo php?

1
ilhan 6 sep. 2011 a las 16:29

4 respuestas

La mejor respuesta
function workprogress(){Ext.Ajax.request({
    url: 'communication.php',
    success: function(result) {
                 var response = Ext.decode(result.responseText);
                 if (response.success) //success true
                 else //success false
    }
    failure: function() {
           //requests fails completely due to other reasons, timeout ... 
    }
3
nscrob 6 sep. 2011 a las 12:35

Recientemente usó este código:

var xmlArea = new Ext.form.HtmlEditor({
        name : 'xml',
        id : 'xml',
        height : 700,
        width : 480,
        enableAlignments : false,
        enableColors : false,
        enableFont : false,
        enableFontSize : false,
        enableFormat : false,
        enableLinks : false,
        enableLists : false,
        enableSourceEdit : false
    }); 

...

success : function(responseObject) {
                        if(!win) {
xmlArea.setValue(responseObject.responseText);
                                win = new Ext.Window({
                                    layout : 'fit',
                                    title : 'Result',
                                    width : 600,
                                    height : 400,
                                    closeAction : 'hide',
                                    plain : true,

                                    items : [xmlArea],
                                });
                            }
                            win.show(this);
                        }
1
k102 6 sep. 2011 a las 12:36
function workprogress(){
    Ext.Ajax.request({
       url: 'communication.php',
       success: noWork,
       failure: yesWork
       });
}

function noWork(resp) {
   var text = resp.responseText;
   infoWindow.hide();
}

function yesWork() {
   var text = resp.responseText;
   infoWindow.show();
}

Es posible que primero necesite decodificar JSON el texto de respuesta, dependiendo de lo que haga eco en PHP de la llamada Ajax.

2
JamesHalsall 6 sep. 2011 a las 12:36
Ext.Ajax.request({
        url: 'moo.php?id=1',
        success: function(response, opts) {
            var json = Ext.decode(response.responseText);
            if(json.success){
                Ext.Msg.alert('Success','Logged out successfully..', function(){
                    window.location.href = './';
                });
            }
            else {
                Ext.Msg.alert('Failure',json.error_msg);
            }
        },
        failure: function(response, opts) {
            Ext.Msg.alert('server-side failure with status code ' + response.status);
        }
});

Bastante fácil :)

1
Walialu 6 sep. 2011 a las 12:35