2012-07-18 23 views
0

我在提交表單時正在做下列事情。但是,我得到這個錯誤:在extjs中解碼響應錯誤

錯誤譯碼響應:語法錯誤:語法錯誤

這裏是我的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'}"); 

回答

0

也許這可以幫助你。這是一個嵌套在處理程序中的ajax-request的工作示例。

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'); 
       } 
      }); 
}