2011-08-09 79 views
0

我目前送我的回調如下如何正確添加一個「回調」參數給Sencha Touch Ext.Ajax.request()?

var submitCommunicateCard = function() { 
    //display Loading indicator to user 
    console.log(rpc.views.Contact.CommunicateCard.getValues()); 
    Ext.Ajax.request({ 
     url: WebService('GetInTouch', 'CommunicateCard'), 
     method: 'post', 
     params: { 
      callback: 'foo', // THIS SUCKS!!! 
      name: 'Test Name' 
     } 
    }); 
}; 

雖然這個作品,我寧願有煎茶添加回調我。

我想這一點,咬了一下沒有工作

var submitCommunicateCard = function() { 
    //display Loading indicator to user 
    console.log(rpc.views.Contact.CommunicateCard.getValues()); 
    Ext.Ajax.request({ 
     url: WebService('GetInTouch', 'CommunicateCard'), 
     method: 'post', 
     scriptTag: true, //WHY DOESN'T THIS WORK? 
     params: { 
      name: 'Test Name' 
     } 
    }); 
}; 

我怎樣才能正確地添加一個「回調」到煎茶觸摸Ext.Ajax.request()?

+0

不知道如果我理解這個問題。所以你試圖讓Ext.Ajax在每個請求中添加相同的參數? – user123444555621

+0

不,如果你看看'Ext.Data.store()',有一​​個參數'type:'scripttag''。當商店輪詢外部Web服務時,它會自動將'callback = stcCallbackNNNN'添加到POST數據。通過這樣做,Web服務知道要請求JSONP。我使用表單提交做類似的事情,但'scriptTag:true'似乎不能完成同樣的任務。 –

+0

這個問題有一個有效問題的所有部分按[faq](http://stackoverflow.com/faq),它仍然得到了反對票。有趣。 –

回答

0

答案是「不能」

你必須使用Ext.util.JSONP.request();

0

Ext.Ajax生成兩種類型的post-request事件,requestcomplete和requestexception。對於成功的請求,您可以使用Ext.Ajax.on("requestcomplete", function (conn, response, options)),對於失敗的請求可以使用Ext.Ajax.on("requestexception", function (conn, response, options))

+0

此時不想執行成功/失敗響應,只是試圖將'callback'參數添加到POST請求中。 –

+0

不起作用。 Uncaught TypeError:無法讀取未定義的屬性'on' – jakeed1