解码extjs中的响应错误

时间:2012-07-18 16:10:42

标签: extjs3

提交表单时,我正在做以下事情。但是我得到了这个错误:

解码响应错误:SyntaxError:语法错误

这是我的onSubmit成功函数:

onSubmit: function() {
    var vals = this.form.getValues();   
    Ext.Ajax.request({
    url: 'ticketSession.php',
    jsonData: {
        "function": "sessionTicket",
        "parameters": {
            "ticket": vals['ticket']
        }
    },
    success: function( result, request ) {
        var obj = Ext.decode( result.responseText );
        if( obj.success ) {
            //alert ('got here');
            th.ticketWindow.hide();
            Web.Dashboard.loadDefault();

        }
    },

这是我的ticketSession.php

<?php
function sessionTicket($ticket) {
    if( $_REQUEST['ticket'] ) {
        session_start();
        $ticket = $_REQUEST['ticket'];
        $_SESSION['ticket'] = $ticket;
        echo("{'success':'true'}");

     }
    echo "{'failure':'true', 'Error':'No ticket Number found'}");

}
?>

我还修改了我的onsubmit函数但没有工作:

Ext.Ajax.request({
    url: 'ticketSession.php',
    method: 'POST',
    params: { 
    ticket: vals['ticket']
    },

我只是回应这个,但我仍然得到了这个错误

echo("{'success':'true'}");

1 个答案:

答案 0 :(得分:0)

也许这可以帮到你。这是一个嵌套在处理程序中的ajax请求的工作示例。

var deleteFoldersUrl = '<?php echo $html->url('/trees/delete/') ?>';

function(){
            var n = tree.getSelectionModel().getSelectedNode();

            //FolderID
            var params = {'folder_id':n['id']};

            Ext.Ajax.request({
                url:deleteFoldersUrl,
                params:params,
                success:function(response, request) {
                    if (response.responseText == '{success:false}'){
                        request.failure();
                    } else {
                        Ext.Msg.alert('Success);
                    }
                },
                failure:function() {
                    Ext.Msg.alert('Error');
                }
            });
}